diff --git a/Debug/src/codec/subdir.mk b/Debug/src/codec/subdir.mk index fc8591e..41bb3fe 100644 --- a/Debug/src/codec/subdir.mk +++ b/Debug/src/codec/subdir.mk @@ -4,51 +4,39 @@ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ -../src/codec/AbstractDecoderChannel.c \ -../src/codec/AbstractEncoderChannel.c \ -../src/codec/BitDecoderChannel.c \ -../src/codec/BitEncoderChannel.c \ ../src/codec/BitInputStream.c \ ../src/codec/BitOutputStream.c \ -../src/codec/ByteDecoderChannel.c \ -../src/codec/ByteEncoderChannel.c \ ../src/codec/ByteStream.c \ +../src/codec/DecoderChannel.c \ ../src/codec/EXIHeaderDecoder.c \ ../src/codec/EXIHeaderEncoder.c \ +../src/codec/EncoderChannel.c \ ../src/codec/MethodsBag.c \ ../src/codec/v2gEXIDatatypes.c \ ../src/codec/v2gEXIDatatypesDecoder.c \ ../src/codec/v2gEXIDatatypesEncoder.c OBJS += \ -./src/codec/AbstractDecoderChannel.o \ -./src/codec/AbstractEncoderChannel.o \ -./src/codec/BitDecoderChannel.o \ -./src/codec/BitEncoderChannel.o \ ./src/codec/BitInputStream.o \ ./src/codec/BitOutputStream.o \ -./src/codec/ByteDecoderChannel.o \ -./src/codec/ByteEncoderChannel.o \ ./src/codec/ByteStream.o \ +./src/codec/DecoderChannel.o \ ./src/codec/EXIHeaderDecoder.o \ ./src/codec/EXIHeaderEncoder.o \ +./src/codec/EncoderChannel.o \ ./src/codec/MethodsBag.o \ ./src/codec/v2gEXIDatatypes.o \ ./src/codec/v2gEXIDatatypesDecoder.o \ ./src/codec/v2gEXIDatatypesEncoder.o C_DEPS += \ -./src/codec/AbstractDecoderChannel.d \ -./src/codec/AbstractEncoderChannel.d \ -./src/codec/BitDecoderChannel.d \ -./src/codec/BitEncoderChannel.d \ ./src/codec/BitInputStream.d \ ./src/codec/BitOutputStream.d \ -./src/codec/ByteDecoderChannel.d \ -./src/codec/ByteEncoderChannel.d \ ./src/codec/ByteStream.d \ +./src/codec/DecoderChannel.d \ ./src/codec/EXIHeaderDecoder.d \ ./src/codec/EXIHeaderEncoder.d \ +./src/codec/EncoderChannel.d \ ./src/codec/MethodsBag.d \ ./src/codec/v2gEXIDatatypes.d \ ./src/codec/v2gEXIDatatypesDecoder.d \ diff --git a/Debug/src/din/subdir.mk b/Debug/src/din/subdir.mk new file mode 100644 index 0000000..e31507d --- /dev/null +++ b/Debug/src/din/subdir.mk @@ -0,0 +1,30 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../src/din/dinEXIDatatypes.c \ +../src/din/dinEXIDatatypesDecoder.c \ +../src/din/dinEXIDatatypesEncoder.c + +OBJS += \ +./src/din/dinEXIDatatypes.o \ +./src/din/dinEXIDatatypesDecoder.o \ +./src/din/dinEXIDatatypesEncoder.o + +C_DEPS += \ +./src/din/dinEXIDatatypes.d \ +./src/din/dinEXIDatatypesDecoder.d \ +./src/din/dinEXIDatatypesEncoder.d + + +# Each subdirectory must supply rules for building sources it contributes +src/din/%.o: ../src/din/%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C Compiler' + gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/Debug/src/xmldsig/subdir.mk b/Debug/src/xmldsig/subdir.mk new file mode 100644 index 0000000..54de270 --- /dev/null +++ b/Debug/src/xmldsig/subdir.mk @@ -0,0 +1,30 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../src/xmldsig/xmldsigEXIDatatypes.c \ +../src/xmldsig/xmldsigEXIDatatypesDecoder.c \ +../src/xmldsig/xmldsigEXIDatatypesEncoder.c + +OBJS += \ +./src/xmldsig/xmldsigEXIDatatypes.o \ +./src/xmldsig/xmldsigEXIDatatypesDecoder.o \ +./src/xmldsig/xmldsigEXIDatatypesEncoder.o + +C_DEPS += \ +./src/xmldsig/xmldsigEXIDatatypes.d \ +./src/xmldsig/xmldsigEXIDatatypesDecoder.d \ +./src/xmldsig/xmldsigEXIDatatypesEncoder.d + + +# Each subdirectory must supply rules for building sources it contributes +src/xmldsig/%.o: ../src/xmldsig/%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C Compiler' + gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -ansi -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/README.txt b/README.txt index f3bb93d..7632c30 100644 --- a/README.txt +++ b/README.txt @@ -1,12 +1,12 @@ ------------------------------------------------------------------------- OpenV2G - an open source project implementing the basic functionality of the ISO IEC 15118 vehicle to grid (V2G) communication interface -Version 0.9.3, released February 25, 2015 +Version 1.0.0alpha, released March/April ??, 2017 http://openv2g.sourceforge.net/ Please report bugs via the SourceForge bug tracking system at http://sourceforge.net/tracker/?group_id=350113. Thank you. -Copyright (C) 2007-2015 Siemens AG +Copyright (C) 2007-2017 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 @@ -21,6 +21,13 @@ 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 . + +------------------------------------------------------------------------- +CHANGES from version 0.9.3: +------------------------------------------------------------------------- +* Support for 15118-2-2016 XML schema +* internal coding updates + ------------------------------------------------------------------------- CHANGES from version 0.9.2: ------------------------------------------------------------------------- diff --git a/Release/src/codec/subdir.mk b/Release/src/codec/subdir.mk index ea56d80..0603aed 100644 --- a/Release/src/codec/subdir.mk +++ b/Release/src/codec/subdir.mk @@ -4,51 +4,39 @@ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ -../src/codec/AbstractDecoderChannel.c \ -../src/codec/AbstractEncoderChannel.c \ -../src/codec/BitDecoderChannel.c \ -../src/codec/BitEncoderChannel.c \ ../src/codec/BitInputStream.c \ ../src/codec/BitOutputStream.c \ -../src/codec/ByteDecoderChannel.c \ -../src/codec/ByteEncoderChannel.c \ ../src/codec/ByteStream.c \ +../src/codec/DecoderChannel.c \ ../src/codec/EXIHeaderDecoder.c \ ../src/codec/EXIHeaderEncoder.c \ +../src/codec/EncoderChannel.c \ ../src/codec/MethodsBag.c \ ../src/codec/v2gEXIDatatypes.c \ ../src/codec/v2gEXIDatatypesDecoder.c \ ../src/codec/v2gEXIDatatypesEncoder.c OBJS += \ -./src/codec/AbstractDecoderChannel.o \ -./src/codec/AbstractEncoderChannel.o \ -./src/codec/BitDecoderChannel.o \ -./src/codec/BitEncoderChannel.o \ ./src/codec/BitInputStream.o \ ./src/codec/BitOutputStream.o \ -./src/codec/ByteDecoderChannel.o \ -./src/codec/ByteEncoderChannel.o \ ./src/codec/ByteStream.o \ +./src/codec/DecoderChannel.o \ ./src/codec/EXIHeaderDecoder.o \ ./src/codec/EXIHeaderEncoder.o \ +./src/codec/EncoderChannel.o \ ./src/codec/MethodsBag.o \ ./src/codec/v2gEXIDatatypes.o \ ./src/codec/v2gEXIDatatypesDecoder.o \ ./src/codec/v2gEXIDatatypesEncoder.o C_DEPS += \ -./src/codec/AbstractDecoderChannel.d \ -./src/codec/AbstractEncoderChannel.d \ -./src/codec/BitDecoderChannel.d \ -./src/codec/BitEncoderChannel.d \ ./src/codec/BitInputStream.d \ ./src/codec/BitOutputStream.d \ -./src/codec/ByteDecoderChannel.d \ -./src/codec/ByteEncoderChannel.d \ ./src/codec/ByteStream.d \ +./src/codec/DecoderChannel.d \ ./src/codec/EXIHeaderDecoder.d \ ./src/codec/EXIHeaderEncoder.d \ +./src/codec/EncoderChannel.d \ ./src/codec/MethodsBag.d \ ./src/codec/v2gEXIDatatypes.d \ ./src/codec/v2gEXIDatatypesDecoder.d \ diff --git a/Release/src/din/subdir.mk b/Release/src/din/subdir.mk new file mode 100644 index 0000000..28c4526 --- /dev/null +++ b/Release/src/din/subdir.mk @@ -0,0 +1,30 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../src/din/dinEXIDatatypes.c \ +../src/din/dinEXIDatatypesDecoder.c \ +../src/din/dinEXIDatatypesEncoder.c + +OBJS += \ +./src/din/dinEXIDatatypes.o \ +./src/din/dinEXIDatatypesDecoder.o \ +./src/din/dinEXIDatatypesEncoder.o + +C_DEPS += \ +./src/din/dinEXIDatatypes.d \ +./src/din/dinEXIDatatypesDecoder.d \ +./src/din/dinEXIDatatypesEncoder.d + + +# Each subdirectory must supply rules for building sources it contributes +src/din/%.o: ../src/din/%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C Compiler' + gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/Release/src/xmldsig/subdir.mk b/Release/src/xmldsig/subdir.mk new file mode 100644 index 0000000..f8419d2 --- /dev/null +++ b/Release/src/xmldsig/subdir.mk @@ -0,0 +1,30 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../src/xmldsig/xmldsigEXIDatatypes.c \ +../src/xmldsig/xmldsigEXIDatatypesDecoder.c \ +../src/xmldsig/xmldsigEXIDatatypesEncoder.c + +OBJS += \ +./src/xmldsig/xmldsigEXIDatatypes.o \ +./src/xmldsig/xmldsigEXIDatatypesDecoder.o \ +./src/xmldsig/xmldsigEXIDatatypesEncoder.o + +C_DEPS += \ +./src/xmldsig/xmldsigEXIDatatypes.d \ +./src/xmldsig/xmldsigEXIDatatypesDecoder.d \ +./src/xmldsig/xmldsigEXIDatatypesEncoder.d + + +# Each subdirectory must supply rules for building sources it contributes +src/xmldsig/%.o: ../src/xmldsig/%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C Compiler' + gcc -I"../src/codec" -I"../src/din" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -Os -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/data/sessionSetupReq.xml b/data/sessionSetupReq.xml index bbc0b42..1992088 100644 --- a/data/sessionSetupReq.xml +++ b/data/sessionSetupReq.xml @@ -1,16 +1,15 @@ - + - 00 + 0000000000000000 01 - + \ No newline at end of file diff --git a/data/sessionSetupReq.xml.exi b/data/sessionSetupReq.xml.exi index 8daff35..6704295 100644 Binary files a/data/sessionSetupReq.xml.exi and b/data/sessionSetupReq.xml.exi differ diff --git a/data/sessionSetupRes.xml b/data/sessionSetupRes.xml index 2c576f2..4de1861 100644 --- a/data/sessionSetupRes.xml +++ b/data/sessionSetupRes.xml @@ -1,17 +1,16 @@ - + - 010203040506 + 0000000000000010 OK - ABC01234 + 1234567 123456789 diff --git a/data/sessionSetupRes.xml.exi b/data/sessionSetupRes.xml.exi index 247772a..17cc2a8 100644 Binary files a/data/sessionSetupRes.xml.exi and b/data/sessionSetupRes.xml.exi differ diff --git a/src/appHandshake/appHandEXIDatatypesDecoder.c b/src/appHandshake/appHandEXIDatatypesDecoder.c index 0733731..38d37b6 100644 --- a/src/appHandshake/appHandEXIDatatypesDecoder.c +++ b/src/appHandshake/appHandEXIDatatypesDecoder.c @@ -75,13 +75,10 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &appHandAppProtocolType->ProtocolNamespace.charactersLen); - if (errn == 0) { - errn = (appHandAppProtocolType->ProtocolNamespace.charactersLen - 2) <= appHandAppProtocolType_ProtocolNamespace_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (appHandAppProtocolType->ProtocolNamespace.charactersLen >= 2) { appHandAppProtocolType->ProtocolNamespace.charactersLen = (uint16_t)(appHandAppProtocolType->ProtocolNamespace.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, appHandAppProtocolType->ProtocolNamespace.charactersLen, appHandAppProtocolType->ProtocolNamespace.characters); + errn = decodeCharacters(stream, appHandAppProtocolType->ProtocolNamespace.charactersLen, appHandAppProtocolType->ProtocolNamespace.characters, appHandAppProtocolType_ProtocolNamespace_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; diff --git a/src/codec/BitDecoderChannel.c b/src/codec/BitDecoderChannel.c deleted file mode 100644 index 554fc51..0000000 --- a/src/codec/BitDecoderChannel.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2007-2015 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.3 - * @contact Joerg.Heuer@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "DecoderChannel.h" -#include "BitInputStream.h" -#include "EXITypes.h" -#include "ErrorCodes.h" - -#ifndef BIT_DECODER_CHANNEL_C -#define BIT_DECODER_CHANNEL_C - - -#if EXI_OPTION_ALIGNMENT == BIT_PACKED - -int decode(bitstream_t* stream, uint8_t* b) { - uint32_t bb; - int errn = readBits(stream, 8, &bb); - if (errn == 0) { - if (bb > 256) { - errn = EXI_ERROR_UNEXPECTED_BYTE_VALUE; - } else { - *b = (uint8_t)bb; - } - } - - return errn; -} - -int decodeBoolean(bitstream_t* stream, int* b) { - uint32_t ub; - int errn = readBits(stream, 1, &ub); - *b = (ub == 0) ? 0 : 1; - return errn; -} - -int decodeNBitUnsignedInteger(bitstream_t* stream, uint16_t nbits, uint32_t* uint32) { - int errn = 0; - if (nbits == 0) { - *uint32 = 0; - } else { - errn= readBits(stream, nbits, uint32); - } - return errn; -} - -#endif - -#endif - diff --git a/src/codec/BitEncoderChannel.c b/src/codec/BitEncoderChannel.c deleted file mode 100644 index 4c4345a..0000000 --- a/src/codec/BitEncoderChannel.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (C) 2007-2015 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.3 - * @contact Joerg.Heuer@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "EncoderChannel.h" - -#include "EXIOptions.h" -#include "BitOutputStream.h" -#include "EXITypes.h" - -#ifndef BIT_ENCODER_CHANNEL_C -#define BIT_ENCODER_CHANNEL_C - -#if EXI_OPTION_ALIGNMENT == BIT_PACKED - - -int encode(bitstream_t* stream, uint8_t b) { - return writeBits(stream, 8, b); -} - -/** - * Encode a single boolean value. A false value is encoded as bit 0 and true - * value is encode as bit 1. - */ -int encodeBoolean(bitstream_t* stream, int b) { - uint8_t val = b ? 1 : 0; - return writeBits(stream, 1, val); -} - - -/** - * Encode n-bit unsigned integer. The n least significant bits of parameter - * b starting with the most significant, i.e. from left to right. - */ -int encodeNBitUnsignedInteger(bitstream_t* stream, uint16_t nbits, uint32_t val) { - int errn = 0; - if (nbits > 0) { - errn = writeBits(stream, nbits, val); - } - return errn; -} - -/** - * Flush underlying bit output stream. - */ -int encodeFinish(bitstream_t* stream) { - return flush(stream); -} - - -#endif /* alignment */ - -#endif - - - - - - - - - - - - diff --git a/src/codec/BitInputStream.c b/src/codec/BitInputStream.c index a5969a9..b07848e 100644 --- a/src/codec/BitInputStream.c +++ b/src/codec/BitInputStream.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -64,7 +64,7 @@ static int readBuffer(bitstream_t* stream) return errn; } -int readBits(bitstream_t* stream, uint16_t num_bits, uint32_t* b) +int readBits(bitstream_t* stream, size_t num_bits, uint32_t* b) { int errn = readBuffer(stream); if (errn == 0) { @@ -75,7 +75,7 @@ int readBits(bitstream_t* stream, uint16_t num_bits, uint32_t* b) } else { /* read bits as much as possible */ *b = (uint32_t)(stream->buffer & (0xff >> (BITS_IN_BYTE - stream->capacity))); - num_bits = (uint16_t)(num_bits - stream->capacity); + num_bits = (num_bits - stream->capacity); stream->capacity = 0; /* read whole bytes */ @@ -83,7 +83,7 @@ int readBits(bitstream_t* stream, uint16_t num_bits, uint32_t* b) { errn = readBuffer(stream); *b = ((*b) << BITS_IN_BYTE) | stream->buffer; - num_bits = (uint16_t)(num_bits - BITS_IN_BYTE); + num_bits = (num_bits - BITS_IN_BYTE); stream->capacity = 0; } diff --git a/src/codec/BitInputStream.h b/src/codec/BitInputStream.h index b113ea6..7ef68e2 100644 --- a/src/codec/BitInputStream.h +++ b/src/codec/BitInputStream.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -57,7 +57,7 @@ extern "C" { * \return Error-Code <> 0 * */ -int readBits(bitstream_t* stream, uint16_t num_bits, uint32_t* b); +int readBits(bitstream_t* stream, size_t num_bits, uint32_t* b); #ifdef __cplusplus diff --git a/src/codec/BitOutputStream.c b/src/codec/BitOutputStream.c index ea84190..80a79fa 100644 --- a/src/codec/BitOutputStream.c +++ b/src/codec/BitOutputStream.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -37,7 +37,7 @@ #ifndef BIT_OUTPUT_STREAM_C #define BIT_OUTPUT_STREAM_C -int writeBits(bitstream_t* stream, uint16_t nbits, uint32_t val) { +int writeBits(bitstream_t* stream, size_t nbits, uint32_t val) { int errn = 0; /* is there enough space in the buffer */ if (nbits <= stream->capacity) { @@ -67,7 +67,7 @@ int writeBits(bitstream_t* stream, uint16_t nbits, uint32_t val) { stream->buffer = (uint8_t)(stream->buffer << stream->capacity) | ( (uint8_t)(val >> (nbits - stream->capacity)) & (uint8_t)(0xff >> (BITS_IN_BYTE - stream->capacity)) ); - nbits = (uint16_t)(nbits - stream->capacity); + nbits = (nbits - stream->capacity); #if EXI_STREAM == BYTE_ARRAY if ((*stream->pos) >= stream->size) { errn = EXI_ERROR_OUTPUT_STREAM_EOF; @@ -84,7 +84,7 @@ int writeBits(bitstream_t* stream, uint16_t nbits, uint32_t val) { /* write whole bytes */ while (errn == 0 && nbits >= BITS_IN_BYTE) { - nbits = (uint16_t)(nbits - BITS_IN_BYTE); + nbits = (nbits - BITS_IN_BYTE); #if EXI_STREAM == BYTE_ARRAY if ((*stream->pos) >= stream->size) { errn = EXI_ERROR_OUTPUT_STREAM_EOF; diff --git a/src/codec/BitOutputStream.h b/src/codec/BitOutputStream.h index 6b05876..a1d2198 100644 --- a/src/codec/BitOutputStream.h +++ b/src/codec/BitOutputStream.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -60,7 +60,7 @@ extern "C" { * \return Error-Code <> 0 * */ -int writeBits(bitstream_t* stream, uint16_t nbits, uint32_t bits); +int writeBits(bitstream_t* stream, size_t nbits, uint32_t bits); /** diff --git a/src/codec/ByteDecoderChannel.c b/src/codec/ByteDecoderChannel.c deleted file mode 100644 index fb9c2fd..0000000 --- a/src/codec/ByteDecoderChannel.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2007-2015 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.3 - * @contact Joerg.Heuer@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "DecoderChannel.h" -#include "EXIOptions.h" -#include "BitInputStream.h" -#include "EXITypes.h" -#include "ErrorCodes.h" - -#ifndef BYTE_DECODER_CHANNEL_C -#define BYTE_DECODER_CHANNEL_C - - -#if EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT - -int decode(bitstream_t* stream, uint8_t* b) { - int errn = 0; -#if EXI_STREAM == BYTE_ARRAY - if ( (*stream->pos) < stream->size ) { - *b = stream->data[(*stream->pos)++]; - } else { - errn = EXI_ERROR_INPUT_STREAM_EOF; - } -#endif /* EXI_STREAM == BYTE_ARRAY */ -#if EXI_STREAM == FILE_STREAM - *b = (uint8_t)(getc(stream->file)); - /* EOF cannot be used, 0xFF valid value */ - if ( feof(stream->file) || ferror(stream->file) ) { - errn = EXI_ERROR_INPUT_STREAM_EOF; - } -#endif /* EXI_STREAM == FILE_STREAM */ - - return errn; -} - -int decodeBoolean(bitstream_t* stream, int* b) { - uint8_t bb; - int errn = decode(stream, &bb); - *b = (bb == 0) ? 0 : 1; - return errn; -} - -/** - * Decodes and returns an n-bit unsigned integer using the minimum number of - * bytes required for n bits. - */ -int decodeNBitUnsignedInteger(bitstream_t* stream, uint16_t nbits, uint32_t* uint32) { - uint16_t bitsRead = 0; - uint8_t b; - int errn = 0; - *uint32 = 0; - - while (errn == 0 && bitsRead < nbits) { - errn = decode(stream, &b); - *uint32 = *uint32 + (uint32_t)(b << bitsRead); - bitsRead = (uint16_t)(bitsRead + 8); - } - - return errn; -} - -#endif - -#endif - diff --git a/src/codec/ByteEncoderChannel.c b/src/codec/ByteEncoderChannel.c deleted file mode 100644 index bf70603..0000000 --- a/src/codec/ByteEncoderChannel.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (C) 2007-2015 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.3 - * @contact Joerg.Heuer@siemens.com - * - *

Code generated by EXIdizer

- *

Schema: V2G_CI_MsgDef.xsd

- * - * - ********************************************************************/ - - - -#include "EncoderChannel.h" - -#include "EXIOptions.h" -#include "BitOutputStream.h" -#include "EXITypes.h" -#include "MethodsBag.h" -#include "ErrorCodes.h" - -#ifndef BYTE_ENCODER_CHANNEL_C -#define BYTE_ENCODER_CHANNEL_C - -#if EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT - - -int encode(bitstream_t* stream, uint8_t b) { - int errn = 0; -#if EXI_STREAM == BYTE_ARRAY - if ( (*stream->pos) < stream->size ) { - stream->data[(*stream->pos)++] = b; - } else { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } -#endif /* EXI_STREAM == BYTE_ARRAY */ -#if EXI_STREAM == FILE_STREAM - if ( putc(b, stream->file) == EOF ) { - errn = EXI_ERROR_OUTPUT_STREAM_EOF; - } -#endif /* EXI_STREAM == FILE_STREAM */ - return errn; -} - -/** - * Encode a single boolean value. A false value is encoded as byte 0 and true - * value is encode as byte 1. - */ -int encodeBoolean(bitstream_t* stream, int b) { - uint8_t val = b ? 1 : 0; - return encode(stream, val); -} - - -/** - * Encode n-bit unsigned integer. The n least significant bits of parameter - * b starting with the most significant, i.e. from left to right. - */ -int encodeNBitUnsignedInteger(bitstream_t* stream, uint16_t nbits, uint32_t val) { - int errn = 0; - if (nbits > 0) { - if (nbits < 9) { - /* 1 byte */ - errn = encode(stream, val & 0xff); - } else if (nbits < 17) { - /* 2 bytes */ - errn = encode(stream, val & 0x00ff); - if(errn == 0) { - errn = encode(stream, (uint8_t)((val & 0xff00) >> 8)); - } - } else if (nbits < 25) { - /* 3 bytes */ - errn = encode(stream, val & 0x0000ff); - if(errn == 0) { - errn = encode(stream, (uint8_t)((val & 0x00ff00) >> 8)); - if(errn == 0) { - errn = encode(stream, (uint8_t)((val & 0xff0000) >> 16)); - } - } - } else if (nbits < 33) { - /* 4 bytes */ - errn = encode(stream, val & 0x000000ff); - if(errn == 0) { - errn = encode(stream, (uint8_t)((val & 0x0000ff00) >> 8)); - if(errn == 0) { - errn = encode(stream, (uint8_t)((val & 0x00ff0000) >> 16)); - if(errn == 0) { - errn = encode(stream, (uint8_t)((val & 0xff000000) >> 24)); - } - } - } - } else { - /* TODO Currently not more than 4 Bytes allowed for NBitUnsignedInteger */ - errn = EXI_UNSUPPORTED_NBIT_INTEGER_LENGTH; - } - } - return errn; -} - - -/** - * Flush underlying bit output stream. - */ -#pragma warning( disable : 4100 ) /* warning unreferenced parameter 'stream' */ -int encodeFinish(bitstream_t* stream) { - /* no pending bits in byte-aligned mode */ - return 0; -} -#pragma warning( default : 4100 ) /* warning unreferenced parameter 'stream' */ - -#endif /* alignment */ - -#endif - - - - - - - - - - - - diff --git a/src/codec/ByteStream.c b/src/codec/ByteStream.c index c4d4d22..e6791ff 100644 --- a/src/codec/ByteStream.c +++ b/src/codec/ByteStream.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -41,7 +41,7 @@ #ifndef BYTE_STREAM_C #define BYTE_STREAM_C -int readBytesFromFile(const char * filename, uint8_t* data, uint16_t size, uint16_t* pos) { +int readBytesFromFile(const char * filename, uint8_t* data, size_t size, size_t* pos) { FILE* f; int character; int errn = 0; @@ -65,7 +65,7 @@ int readBytesFromFile(const char * filename, uint8_t* data, uint16_t size, uint1 return errn; } -int writeBytesToFile(uint8_t* data, uint16_t len, const char * filename) { +int writeBytesToFile(uint8_t* data, size_t len, const char * filename) { size_t rlen; FILE* f = fopen(filename, "wb+"); diff --git a/src/codec/ByteStream.h b/src/codec/ByteStream.h index 578288f..536177b 100644 --- a/src/codec/ByteStream.h +++ b/src/codec/ByteStream.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -53,7 +53,7 @@ extern "C" { * \return Error-Code <> 0 * */ -int writeBytesToFile(uint8_t* data, uint16_t len, const char * filename); +int writeBytesToFile(uint8_t* data, size_t len, const char * filename); /** @@ -66,7 +66,7 @@ int writeBytesToFile(uint8_t* data, uint16_t len, const char * filename); * \return Error-Code <> 0 * */ -int readBytesFromFile(const char * filename, uint8_t* data, uint16_t size, uint16_t* pos); +int readBytesFromFile(const char * filename, uint8_t* data, size_t size, size_t* pos); #ifdef __cplusplus } diff --git a/src/codec/AbstractDecoderChannel.c b/src/codec/DecoderChannel.c similarity index 72% rename from src/codec/AbstractDecoderChannel.c rename to src/codec/DecoderChannel.c index 595c770..9b4388d 100644 --- a/src/codec/AbstractDecoderChannel.c +++ b/src/codec/DecoderChannel.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -43,8 +43,8 @@ #include "DynamicMemory.h" #endif /* DYNAMIC_ALLOCATION */ -#ifndef ABSTRACT_DECODER_CHANNEL_C -#define ABSTRACT_DECODER_CHANNEL_C +#ifndef DECODER_CHANNEL_C +#define DECODER_CHANNEL_C /* unsigned long == 64 bits, 10 * 7bits = 70 bits */ #define MAX_OCTETS_FOR_UNSIGNED_INTEGER_64 10 @@ -209,6 +209,38 @@ int decodeUnsignedInteger32(bitstream_t* stream, uint32_t* uint32) { return errn; } +int decodeUnsignedIntegerSizeT(bitstream_t* stream, size_t* sizeT) { + int errn = 0; + + /* TODO is there a better way to detect the actual size of size_t */ + if(SIZE_MAX == UINT16_MAX) { + /* 16bit */ + uint16_t uint16; + errn = decodeUnsignedInteger16(stream, &uint16); + if(errn == 0) { + *sizeT = (size_t)uint16; + } + } else if(SIZE_MAX == UINT32_MAX) { + /* 32bit */ + uint32_t uint32; + errn = decodeUnsignedInteger32(stream, &uint32); + if(errn == 0) { + *sizeT = (size_t)uint32; + } + } else { + /* 64bit */ + uint64_t uint64; + errn = decodeUnsignedInteger64(stream, &uint64); + if(errn == 0) { + *sizeT = (size_t)uint64; + } + } + + return errn; +} + + + /** * Decode an arbitrary precision non negative integer using a sequence of * octets. The most significant bit of the last octet is set to zero to @@ -360,9 +392,9 @@ int decodeDecimal(bitstream_t* stream, exi_decimal_t* d) { /** * Decode a sequence of characters for a given length. */ -int decodeStringOnly(bitstream_t* stream, uint16_t len, exi_string_t* s) { +int decodeStringOnly(bitstream_t* stream, size_t len, exi_string_t* s) { int errn = 0; - int extraChar = 0; + unsigned int extraChar = 0; #if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII extraChar = 1; /* null terminator */ #endif /* STRING_REPRESENTATION_ASCII */ @@ -378,11 +410,11 @@ int decodeStringOnly(bitstream_t* stream, uint16_t len, exi_string_t* s) { return errn; } } - errn = exiAllocateDynamicStringMemory(s, s->len); + errn = exiAllocateDynamicStringMemory(s, (len + extraChar)); /*s->len*/ #endif /* DYNAMIC_ALLOCATION */ } if(errn == 0) { - errn = decodeCharacters(stream, len, s->characters); + errn = decodeCharacters(stream, len, s->characters, s->size); s->len = len; } @@ -393,165 +425,31 @@ int decodeStringOnly(bitstream_t* stream, uint16_t len, exi_string_t* s) { * Decode a length prefixed sequence of characters. */ int decodeString(bitstream_t* stream, exi_string_t* s) { - int errn = decodeUnsignedInteger16(stream, &s->len); + int errn = decodeUnsignedIntegerSizeT(stream, &s->len); if (errn == 0) { errn = decodeStringOnly(stream, s->len, s); } return errn; } -static int _readStringValueLocalHit(bitstream_t* stream, exi_state_t* state, uint16_t qnameID, uint32_t* localID) { - int errn; - uint16_t codingLength; - - if( state->stringTable.sizeLocalStrings > qnameID ) { - errn = exiGetCodingLength(state->stringTable.numberOfLocalStrings[qnameID], &codingLength); - if(errn == 0) { - errn = decodeNBitUnsignedInteger(stream, codingLength, localID); - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - - return errn; -} - - -static int _readStringValueGlobalHit(bitstream_t* stream, exi_state_t* state, uint32_t* globalID) { - int errn; - uint16_t codingLength; - - errn = exiGetCodingLength(state->stringTable.numberOfGlobalStrings, &codingLength); - if(errn == 0) { - errn = decodeNBitUnsignedInteger(stream, codingLength, globalID); - } - - return errn; -} - -int decodeStringValue(bitstream_t* stream, exi_state_t* state, uint16_t qnameID, exi_string_value_t* s) { - uint16_t L; - int errn = decodeUnsignedInteger16(stream, &L); - if (errn == 0) { - switch (L) { - case 0: - /* local value partition */ - s->type = EXI_STRING_VALUE_LOCAL_HIT; - errn = _readStringValueLocalHit(stream, state, qnameID, &s->localID); - break; - case 1: - /* found in global value partition */ - s->type = EXI_STRING_VALUE_GLOBAL_HIT; - errn = _readStringValueGlobalHit(stream, state, &s->globalID); - break; - default: - /* not found in global value (and local value) partition - * ==> string literal is encoded as a String with the length - * incremented by two */ - s->type = EXI_STRING_VALUE_MISS; - s->miss.len = L = (uint16_t)(L - 2); - errn = decodeStringOnly(stream, L, &(s->miss)); - if(errn == 0) { -#if EXI_OPTION_VALUE_PARTITION_CAPACITY != 0 -#if EXI_OPTION_VALUE_MAX_LENGTH != 0 - /* If length L is greater than zero the string S is added */ - if(L > 0) { - /* After encoding the string value, it is added to both the - * associated "local" value string table partition and the global - * value string table partition */ -#if EXI_OPTION_VALUE_MAX_LENGTH < 0 - errn = exiAddStringValue(&state->stringTable, &(s->miss), qnameID); -# else /* EXI_v2gVALUE_MAX_LENGTH < 0 */ - if (L <= EXI_OPTION_VALUE_MAX_LENGTH) { - errn = exiAddStringValue(&state->stringTable, &(s->miss), qnameID); - } -#endif /* EXI_OPTION_VALUE_MAX_LENGTH < 0 */ - } -#endif /* EXI_OPTION_VALUE_MAX_LENGTH != 0 */ -#endif /* EXI_OPTION_VALUE_PARTITION_CAPACITY != 0 */ - } - break; - } - } - - return errn; -} - -int decodeRCSStringValue(bitstream_t* stream, exi_state_t* state, uint16_t qnameID, exi_rcs_t* rcs, exi_string_value_t* s) { - unsigned int i; - uint32_t cp; - uint16_t L; - int errn = decodeUnsignedInteger16(stream, &L); - if (errn == 0) { - switch (L) { - case 0: - /* local value partition */ - s->type = EXI_STRING_VALUE_LOCAL_HIT; - errn = _readStringValueLocalHit(stream, state, qnameID, &s->localID); - break; - case 1: - /* found in global value partition */ - s->type = EXI_STRING_VALUE_GLOBAL_HIT; - errn = _readStringValueGlobalHit(stream, state, &s->globalID); - break; - default: - /* not found in global value (and local value) partition - * ==> string literal is encoded as a String with the length - * incremented by two */ - s->type = EXI_STRING_VALUE_MISS; - s->miss.len = L = (uint16_t)(L - 2); - - if (L > s->miss.size) { -#if MEMORY_ALLOCATION == STATIC_ALLOCATION - errn = EXI_ERROR_OUT_OF_STRING_BUFFER; -#endif /* STATIC_ALLOCATION */ -#if MEMORY_ALLOCATION == DYNAMIC_ALLOCATION - if(s->miss.size > 0) { - errn = exiFreeDynamicStringMemory(&(s->miss)); - } - if(errn == 0) { - errn = exiAllocateDynamicStringMemory(&(s->miss), L); - } -#endif /* DYNAMIC_ALLOCATION */ - } - if(errn == 0) { - for (i = 0; i < L && errn >= 0; i++) { - errn = decodeNBitUnsignedInteger(stream, rcs->codingLength, &cp); - s->miss.characters[i] = rcs->characters[cp]; - } -#if EXI_OPTION_VALUE_PARTITION_CAPACITY != 0 -#if EXI_OPTION_VALUE_MAX_LENGTH != 0 - /* If length L is greater than zero the string S is added */ - if(errn == 0 && L > 0) { - /* After encoding the string value, it is added to both the - * associated "local" value string table partition and the global - * value string table partition */ -#if EXI_OPTION_VALUE_MAX_LENGTH < 0 - errn = exiAddStringValue(&state->stringTable, &(s->miss), qnameID); -# else /* EXI_OPTION_VALUE_MAX_LENGTH < 0 */ - if (L <= EXI_OPTION_VALUE_MAX_LENGTH) { - errn = exiAddStringValue(&state->stringTable, &(s->miss), qnameID); - } -#endif /* EXI_OPTION_VALUE_MAX_LENGTH < 0 */ - } -#endif /* EXI_OPTION_VALUE_MAX_LENGTH != 0 */ -#endif /* EXI_OPTION_VALUE_PARTITION_CAPACITY != 0 */ - } - break; - } - } - - return errn; -} - /** * Decode a sequence of characters according to a given length. * Each character is represented by its UCS [ISO/IEC 10646] * code point encoded as an Unsigned Integer */ -int decodeCharacters(bitstream_t* stream, uint16_t len, exi_string_character_t* chars) { +int decodeCharacters(bitstream_t* stream, size_t len, exi_string_character_t* chars, size_t charsSize) { unsigned int i; - int errn = 0; + int errn = 0; + + unsigned int extraChar = 0; +#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII + extraChar = 1; /* null terminator */ +#endif /* STRING_REPRESENTATION_ASCII */ + + if ( (len + extraChar) > charsSize) { + errn = EXI_ERROR_OUT_OF_STRING_BUFFER; + return errn; + } #if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII uint8_t b; @@ -579,13 +477,20 @@ int decodeCharacters(bitstream_t* stream, uint16_t len, exi_string_character_t* return errn; } -int decodeRCSCharacters(bitstream_t* stream, uint16_t len, exi_string_character_t* chars, uint16_t rcsCodeLength, uint16_t rcsSize, const exi_string_character_t rcsSet[]) { +int decodeRCSCharacters(bitstream_t* stream, size_t len, exi_string_character_t* chars, size_t charsSize, size_t rcsCodeLength, size_t rcsSize, const exi_string_character_t rcsSet[]) { unsigned int i; int errn = 0; uint32_t uint32; -#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII - uint8_t b; -#endif /* STRING_REPRESENTATION_ASCII */ + unsigned int extraChar = 0; +#if STRING_REPRESENTATION == STRING_REPRESENTATION_ASCII + uint8_t b; + extraChar = 1; /* null terminator */ +#endif /* STRING_REPRESENTATION_ASCII */ + + if ( (len + extraChar) > charsSize) { + errn = EXI_ERROR_OUT_OF_STRING_BUFFER; + return errn; + } for (i = 0; i < len && errn == 0; i++) { @@ -625,7 +530,7 @@ int decodeRCSCharacters(bitstream_t* stream, uint16_t len, exi_string_character_ * Decode a binary value as a length-prefixed sequence of octets. */ int decodeBinary(bitstream_t* stream, exi_bytes_t* bytes) { - int errn = decodeUnsignedInteger16(stream, &bytes->len); + int errn = decodeUnsignedIntegerSizeT(stream, &bytes->len); if (errn == 0) { if (bytes->len > bytes->size) { #if MEMORY_ALLOCATION == STATIC_ALLOCATION @@ -646,7 +551,7 @@ int decodeBinary(bitstream_t* stream, exi_bytes_t* bytes) { } -int decodeBytes(bitstream_t* stream, uint16_t len, uint8_t* data) { +int decodeBytes(bitstream_t* stream, size_t len, uint8_t* data) { unsigned int i; int errn = 0; uint8_t b; @@ -738,5 +643,90 @@ int decodeDateTime(bitstream_t* stream, exi_datetime_type_t type, exi_datetime_t return errn; } + + +int decode(bitstream_t* stream, uint8_t* b) { +#if EXI_OPTION_ALIGNMENT == BIT_PACKED + uint32_t bb; + int errn = readBits(stream, 8, &bb); + if (errn == 0) { + if (bb > 256) { + errn = EXI_ERROR_UNEXPECTED_BYTE_VALUE; + } else { + *b = (uint8_t)bb; + } + } + + return errn; +#endif /* EXI_OPTION_ALIGNMENT == BIT_PACKED */ +#if EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT + int errn = 0; +#if EXI_STREAM == BYTE_ARRAY + if ( (*stream->pos) < stream->size ) { + *b = stream->data[(*stream->pos)++]; + } else { + errn = EXI_ERROR_INPUT_STREAM_EOF; + } +#endif /* EXI_STREAM == BYTE_ARRAY */ +#if EXI_STREAM == FILE_STREAM + *b = (uint8_t)(getc(stream->file)); + /* EOF cannot be used, 0xFF valid value */ + if ( feof(stream->file) || ferror(stream->file) ) { + errn = EXI_ERROR_INPUT_STREAM_EOF; + } +#endif /* EXI_STREAM == FILE_STREAM */ + + return errn; +#endif /* EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT */ +} + +int decodeBoolean(bitstream_t* stream, int* b) { +#if EXI_OPTION_ALIGNMENT == BIT_PACKED + uint32_t ub; + int errn = readBits(stream, 1, &ub); + *b = (ub == 0) ? 0 : 1; + return errn; +#endif /* EXI_OPTION_ALIGNMENT == BIT_PACKED */ +#if EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT + uint8_t bb; + int errn = decode(stream, &bb); + *b = (bb == 0) ? 0 : 1; + return errn; +#endif /* EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT */ + +} + +/** + * Decodes and returns an n-bit unsigned integer using the minimum number of + * bytes required for n bits. + */ +int decodeNBitUnsignedInteger(bitstream_t* stream, size_t nbits, uint32_t* uint32) { +#if EXI_OPTION_ALIGNMENT == BIT_PACKED + int errn = 0; + if (nbits == 0) { + *uint32 = 0; + } else { + errn= readBits(stream, nbits, uint32); + } + return errn; +#endif /* EXI_OPTION_ALIGNMENT == BIT_PACKED */ +#if EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT + size_t bitsRead = 0; + uint8_t b; + int errn = 0; + *uint32 = 0; + + while (errn == 0 && bitsRead < nbits) { + errn = decode(stream, &b); + *uint32 = *uint32 + (uint32_t)(b << bitsRead); + bitsRead = (bitsRead + 8); + } + + return errn; +#endif /* EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT */ +} + + + #endif diff --git a/src/codec/DecoderChannel.h b/src/codec/DecoderChannel.h index bf489ad..10dfe75 100644 --- a/src/codec/DecoderChannel.h +++ b/src/codec/DecoderChannel.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -81,7 +81,7 @@ int decodeBoolean(bitstream_t* stream, int* b); * \return Error-Code <> 0 * */ -int decodeNBitUnsignedInteger(bitstream_t* stream, uint16_t nbits, uint32_t* uint32); +int decodeNBitUnsignedInteger(bitstream_t* stream, size_t nbits, uint32_t* uint32); /** @@ -132,6 +132,22 @@ int decodeUnsignedInteger16(bitstream_t* stream, uint16_t* uint16); int decodeUnsignedInteger32(bitstream_t* stream, uint32_t* uint32); +/** + * \brief Decode unsigned integer + * + * Decode an arbitrary precision non negative integer using + * a sequence of octets. The most significant bit of the last + * octet is set to zero to indicate sequence termination. + * Only seven bits per octet are used to store the integer's value. + * + * \param stream Input Stream + * \param sizeT Unsigned Integer Value (out) + * \return Error-Code <> 0 + * + */ +int decodeUnsignedIntegerSizeT(bitstream_t* stream, size_t* sizeT); + + /** * \brief Decode unsigned integer * @@ -258,7 +274,7 @@ int decodeDecimal(bitstream_t* stream, exi_decimal_t* d); * \return Error-Code <> 0 * */ -int decodeStringOnly(bitstream_t* stream, uint16_t len, exi_string_t* s); +int decodeStringOnly(bitstream_t* stream, size_t len, exi_string_t* s); /** @@ -284,27 +300,30 @@ int decodeString(bitstream_t* stream, exi_string_t* s); * length > 1: string literal is encoded as a String with the length incremented by two * * \param stream Input Stream - * \param state Codec state + * \param stringTable String Table * \param qnameID Qualified Name ID + * \param namespaceUriID Qualified Namespace ID + * \param localNameID Qualified LocalName ID * \param s String Value (out) * \return Error-Code <> 0 * */ -int decodeStringValue(bitstream_t* stream, exi_state_t* state, uint16_t qnameID, exi_string_value_t* s); +int decodeStringValue(bitstream_t* stream, exi_value_string_table_t* stringTable, size_t namespaceUriID, size_t localNameID, exi_string_value_t* s); /** * \brief Decode Restricted characters set string value * * \param stream Input Stream - * \param state Codec state - * \param qnameID Qualified Name ID + * \param stringTable StringTable + * \param namespaceUriID qualified namespace ID + * \param localNameID qualified localName ID * \param rcs Restricted character set * \param s String Value (out) * \return Error-Code <> 0 * */ -int decodeRCSStringValue(bitstream_t* stream, exi_state_t* state, uint16_t qnameID, exi_rcs_t* rcs, exi_string_value_t* s); +int decodeRCSStringValue(bitstream_t* stream, exi_value_string_table_t* stringTable, size_t namespaceUriID, size_t localNameID, exi_rcs_t* rcs, exi_string_value_t* s); /** @@ -314,11 +333,12 @@ int decodeRCSStringValue(bitstream_t* stream, exi_state_t* state, uint16_t qname * * \param stream Input Stream * \param len Length - * \param chars Characters (out) + * \param chars Characters (out) + * \param charsSize Size of possible characters * \return Error-Code <> 0 * */ -int decodeCharacters(bitstream_t* stream, uint16_t len, exi_string_character_t* chars); +int decodeCharacters(bitstream_t* stream, size_t len, exi_string_character_t* chars, size_t charsSize); /** @@ -328,14 +348,15 @@ int decodeCharacters(bitstream_t* stream, uint16_t len, exi_string_character_t* * * \param stream Input Stream * \param len Length - * \param chars Characters (out) + * \param chars Characters (out) + * \param charsSize Size of possible characters * \param rcsCodeLength RCS code-length * \param rcsCodeLength RCS size * \param rcsCodeLength RCS set * \return Error-Code <> 0 * */ -int decodeRCSCharacters(bitstream_t* stream, uint16_t len, exi_string_character_t* chars, uint16_t rcsCodeLength, uint16_t rcsSize, const exi_string_character_t rcsSet[]); +int decodeRCSCharacters(bitstream_t* stream, size_t len, exi_string_character_t* chars, size_t charsSize, size_t rcsCodeLength, size_t rcsSize, const exi_string_character_t rcsSet[]); @@ -362,7 +383,7 @@ int decodeBinary(bitstream_t* stream, exi_bytes_t* bytes); * \return Error-Code <> 0 * */ -int decodeBytes(bitstream_t* stream, uint16_t len, uint8_t* data); +int decodeBytes(bitstream_t* stream, size_t len, uint8_t* data); /** * \brief Decode DateTime diff --git a/src/codec/EXIConfig.h b/src/codec/EXIConfig.h index 635fa53..d46dc4e 100644 --- a/src/codec/EXIConfig.h +++ b/src/codec/EXIConfig.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

diff --git a/src/codec/EXIHeaderDecoder.c b/src/codec/EXIHeaderDecoder.c index e231f26..f2dded5 100644 --- a/src/codec/EXIHeaderDecoder.c +++ b/src/codec/EXIHeaderDecoder.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

diff --git a/src/codec/EXIHeaderDecoder.h b/src/codec/EXIHeaderDecoder.h index 7f15162..ceef546 100644 --- a/src/codec/EXIHeaderDecoder.h +++ b/src/codec/EXIHeaderDecoder.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

diff --git a/src/codec/EXIHeaderEncoder.c b/src/codec/EXIHeaderEncoder.c index f4120b8..0d52a87 100644 --- a/src/codec/EXIHeaderEncoder.c +++ b/src/codec/EXIHeaderEncoder.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

diff --git a/src/codec/EXIHeaderEncoder.h b/src/codec/EXIHeaderEncoder.h index 34cc8f7..ea39f54 100644 --- a/src/codec/EXIHeaderEncoder.h +++ b/src/codec/EXIHeaderEncoder.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

diff --git a/src/codec/EXIOptions.h b/src/codec/EXIOptions.h index 919b9fa..f2c7140 100644 --- a/src/codec/EXIOptions.h +++ b/src/codec/EXIOptions.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -27,67 +27,67 @@ * ********************************************************************/ - - -/** - * \file EXIOptions.h - * \brief EXI Options for the EXI Codec - * - */ - -#ifndef EXI_OPTIONS_H -#define EXI_OPTIONS_H - -#ifdef __cplusplus -extern "C" { -#endif - - -/** EXI alignment - Option bit-packed */ -#define BIT_PACKED 1 -/** EXI alignment - Option byte-packed */ -#define BYTE_ALIGNMENT 2 -/** EXI alignment */ -/** - * \brief EXI Option 'alignment' - * - * The alignment option is used to control the alignment of event codes and content items. - * Default Value: bit-packed - */ -#define EXI_OPTION_ALIGNMENT BIT_PACKED - - - -/** - * \brief EXI Option 'strict' - * - * Strict interpretation of schemas is used to achieve better compactness. - * Default Value: false - */ -#define EXI_OPTION_STRICT 0 - - -/** - * \brief EXI Option 'valueMaxLength' - * - * Specifies the maximum string length of value content items to be - * considered for addition to the string table. - * Default Value: unbounded (-1) - */ -#define EXI_OPTION_VALUE_MAX_LENGTH -1 - - -/** - * \brief EXI Option 'valuePartitionCapacity' - * - * Specifies the total capacity of value partitions in a string table. - * Default Value: unbounded (-1) - */ -#define EXI_OPTION_VALUE_PARTITION_CAPACITY 0 - - -#ifdef __cplusplus -} -#endif - -#endif /* EXI_OPTIONS_H */ + + +/** + * \file EXIOptions.h + * \brief EXI Options for the EXI Codec + * + */ + +#ifndef EXI_OPTIONS_H +#define EXI_OPTIONS_H + +#ifdef __cplusplus +extern "C" { +#endif + + +/** EXI alignment - Option bit-packed */ +#define BIT_PACKED 1 +/** EXI alignment - Option byte-packed */ +#define BYTE_ALIGNMENT 2 +/** EXI alignment */ +/** + * \brief EXI Option 'alignment' + * + * The alignment option is used to control the alignment of event codes and content items. + * Default Value: bit-packed + */ +#define EXI_OPTION_ALIGNMENT BIT_PACKED + + + +/** + * \brief EXI Option 'strict' + * + * Strict interpretation of schemas is used to achieve better compactness. + * Default Value: false + */ +#define EXI_OPTION_STRICT 0 + + +/** + * \brief EXI Option 'valueMaxLength' + * + * Specifies the maximum string length of value content items to be + * considered for addition to the string table. + * Default Value: unbounded (-1) + */ +#define EXI_OPTION_VALUE_MAX_LENGTH -1 + + +/** + * \brief EXI Option 'valuePartitionCapacity' + * + * Specifies the total capacity of value partitions in a string table. + * Default Value: unbounded (-1) + */ +#define EXI_OPTION_VALUE_PARTITION_CAPACITY 0 + + +#ifdef __cplusplus +} +#endif + +#endif /* EXI_OPTIONS_H */ diff --git a/src/codec/EXITypes.h b/src/codec/EXITypes.h index b0e34db..0c53d52 100644 --- a/src/codec/EXITypes.h +++ b/src/codec/EXITypes.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -43,6 +43,7 @@ extern "C" { #endif #include +#include #include "EXIConfig.h" #if EXI_STREAM == FILE_STREAM #include @@ -157,11 +158,11 @@ typedef enum { typedef struct { #if EXI_STREAM == BYTE_ARRAY /** byte array size */ - uint16_t size; + size_t size; /** byte array data */ uint8_t* data; /** byte array next position in array */ - uint16_t* pos; + size_t* pos; #endif #if EXI_STREAM == FILE_STREAM /** file pointer */ @@ -275,11 +276,11 @@ typedef uint32_t exi_string_character_t; /** \brief Universal Character Set (UCS) strings */ typedef struct { /** container size */ - uint16_t size; + size_t size; /** string character container */ exi_string_character_t* characters; /** current string length == number of code-points, (len <= size) */ - uint16_t len; + size_t len; } exi_string_t; @@ -290,16 +291,16 @@ typedef struct { /** miss entry */ exi_string_t miss; /** (local) hit entry */ - uint32_t localID; + size_t localID; /** (global) hit entry */ - uint32_t globalID; + size_t globalID; } exi_string_value_t; /** \brief Restricted Characeter Set */ typedef struct { /** size */ - uint16_t size; + size_t size; /** rcs codepoints */ exi_string_character_t* characters; /** character coding length (less than 256 characters) */ @@ -310,11 +311,11 @@ typedef struct { /** \brief Byte value container */ typedef struct { /** bytes array size */ - uint16_t size; + size_t size; /** bytes array data container */ uint8_t* data; /** bytes array length (len <= size) */ - uint16_t len; + size_t len; } exi_bytes_t; @@ -391,7 +392,7 @@ typedef struct { /** list item type */ exi_datatype_t type; /** number of items */ - uint16_t len; + size_t len; /* Special datatype: integer */ /* exi_integer_type_t intType;*/ /** Special datatype: datetime */ @@ -402,9 +403,9 @@ typedef struct { /** \brief Efficient qname */ typedef struct { /** namespace URI ID*/ - uint16_t namespaceURI; + size_t namespaceURI; /** local name ID*/ - uint16_t localPart; + size_t localPart; } exi_eqname_t; @@ -422,7 +423,7 @@ typedef struct { /** type */ exi_name_entry_type_t type; /** entry ID */ - uint16_t id; + size_t id; /** entry string */ exi_string_t str; } exi_name_entry_t; @@ -448,9 +449,9 @@ typedef struct { /* URI and LocalName Entries */ typedef struct exiNameTablePrepopulated { /* number of namespaces AND length name-partitions array */ - uint16_t len; + size_t len; /* number of localName entries divided by URI */ - uint16_t * localNames; + size_t* localNames; } exi_name_table_prepopulated_t; #define EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_ENTRIES 25 @@ -461,13 +462,13 @@ typedef enum { typedef struct { char* uri; - uint16_t uriID; + size_t uriID; } exi_uri_partition_t; typedef struct { char* localName; - uint16_t localNameID; - uint16_t uriID; + size_t localNameID; + size_t uriID; } exi_localname_partition_t; typedef struct { @@ -487,16 +488,17 @@ typedef struct exiNameTableRuntime { namePartitionsEntries[EXI_MAXIMUM_NUMBER_OF_NAME_PARTITION_ENTRIES]; /* uint16_t numberOfUsedNamePartitions; *//* initially zero */ /* added entries */ - uint16_t addedUriEntries; /* initially zero */ - uint16_t addedLocalNameEntries; /* initially zero */ + size_t addedUriEntries; /* initially zero */ + size_t addedLocalNameEntries; /* initially zero */ } exi_name_table_runtime_t; /* StartTagContent grammar initially empty */ /* ElementContent grammar has EE per default */ typedef struct { - uint16_t qnameID; - uint16_t numberOfProductions; + size_t namespaceUriID; + size_t localNameID; + size_t numberOfProductions; int hasXsiType; /* StartTagContent only */ int hasEE; /* ElementContentper default TRUE */ } exi_runtime_element_t; @@ -509,58 +511,60 @@ typedef struct { /* ==================================== */ /* Value string table */ typedef struct exiValueStringTableEntry { - /** Qualified name ID */ - uint16_t qnameID; + /** Qualified namespace URI */ + size_t namespaceUriID; + /** Qualified localName */ + size_t localNameID; /** Local Value ID */ - uint16_t localValueID; + size_t localValueID; /** String */ exi_string_t str; } exi_value_string_table_entry_t; typedef struct exiValueStringTable { /** maximum number of global string table entry size */ - uint16_t size; + size_t size; /** string table entry array container */ exi_value_string_table_entry_t* strs; /** current number of string table entries (len <= size) */ - uint16_t len; + size_t len; } exi_value_string_table_t; -typedef struct { +/* typedef struct { */ /** number of global strings */ - uint16_t numberOfGlobalStrings; + /* uint16_t numberOfGlobalStrings; */ /** size of local-names container */ - uint16_t sizeLocalStrings; + /* uint16_t sizeLocalStrings; */ /** number of local strings container */ - uint16_t* numberOfLocalStrings; + /* uint16_t* numberOfLocalStrings; */ /** string values */ - exi_value_string_table_t* valueStringTable; -} exi_value_table_t; +/* exi_value_string_table_t* valueStringTable; +} exi_value_table_t;*/ typedef struct { /** stack of grammar states */ int16_t grammarStack[EXI_ELEMENT_STACK_SIZE]; /** stack of grammar elements / qnameIDs */ - uint16_t elementStack[EXI_ELEMENT_STACK_SIZE]; + exi_eqname_t elementStack[EXI_ELEMENT_STACK_SIZE]; /** stack index for both stacks */ - uint16_t stackIndex; + size_t stackIndex; /** event-code */ uint32_t eventCode; /** name table entries, pre-populated */ - exi_name_table_prepopulated_t nameTablePrepopulated; + exi_name_table_prepopulated_t* nameTablePrepopulated; /** name table entries, at runtime */ - exi_name_table_runtime_t nameTableRuntime; + exi_name_table_runtime_t* nameTableRuntime; /** next qname ID */ - uint16_t nextQNameID; + size_t nextQNameID; /** string table entries */ - exi_value_table_t stringTable; + exi_value_string_table_t* stringTable; /** runtime built-in element grammars - numbers */ - uint16_t numberOfRuntimeGrammars; + size_t numberOfRuntimeGrammars; /** runtime built-in element grammars */ exi_runtime_element_t runtimeGrammars[MAX_NUMBER_OF_RUNTIME_ELEMENTS * 2]; } exi_state_t; diff --git a/src/codec/AbstractEncoderChannel.c b/src/codec/EncoderChannel.c similarity index 71% rename from src/codec/AbstractEncoderChannel.c rename to src/codec/EncoderChannel.c index f556626..8789350 100644 --- a/src/codec/AbstractEncoderChannel.c +++ b/src/codec/EncoderChannel.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -37,8 +37,8 @@ #include "MethodsBag.h" /*#include "v2gEXICoder.h"*/ -#ifndef ABSTRACT_ENCODER_CHANNEL_C -#define ABSTRACT_ENCODER_CHANNEL_C +#ifndef ENCODER_CHANNEL_C +#define ENCODER_CHANNEL_C int encodeUnsignedInteger(bitstream_t* stream, exi_integer_t* iv) { int errn = 0; @@ -359,158 +359,12 @@ int encodeString(bitstream_t* stream, exi_string_t* string) { return errn; } -static int _writeStringValueLocalHit(bitstream_t* stream, exi_state_t* state, - uint16_t qnameID, uint32_t localID) { - int errn; - uint16_t codingLength; - - if(state->stringTable.sizeLocalStrings > qnameID) { - errn = exiGetCodingLength(state->stringTable.numberOfLocalStrings[qnameID], - &codingLength); - if (errn == 0) { - errn = encodeNBitUnsignedInteger(stream, codingLength, localID); - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - - return errn; -} - -static int _writeStringValueGlobalHit(bitstream_t* stream, exi_state_t* state, - uint32_t globalID) { - int errn; - uint16_t codingLength; - - errn = exiGetCodingLength(state->stringTable.numberOfGlobalStrings, &codingLength); - if (errn == 0) { - errn = encodeNBitUnsignedInteger(stream, codingLength, globalID); - } - - return errn; -} - -int encodeStringValue(bitstream_t* stream, exi_state_t* state, uint16_t qnameID, - exi_string_value_t* string) { - int errn; - - switch (string->type) { - case EXI_STRING_VALUE_LOCAL_HIT: - errn = encodeUnsignedInteger32(stream, 0); - if (errn == 0) { - errn = _writeStringValueLocalHit(stream, state, qnameID, - string->localID); - } - break; - case EXI_STRING_VALUE_GLOBAL_HIT: - errn = encodeUnsignedInteger32(stream, 1); - if (errn == 0) { - errn = _writeStringValueGlobalHit(stream, state, string->globalID); - } - break; - case EXI_STRING_VALUE_MISS: - /* encode string as string table miss */ - errn = encodeUnsignedInteger32(stream, (uint32_t)(string->miss.len + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, string->miss.characters, - string->miss.len); - if (errn == 0) { -#if EXI_OPTION_VALUE_PARTITION_CAPACITY != 0 -#if EXI_OPTION_VALUE_MAX_LENGTH != 0 - /* If length L is greater than zero the string S is added */ - if (string->miss.len > 0) { - /* After encoding the string value, it is added to both the - * associated "local" value string table partition and the global - * value string table partition */ -#if EXI_OPTION_VALUE_MAX_LENGTH < 0 - errn = exiAddStringValue(&state->stringTable, &(string->miss), qnameID); -# else /* EXI_OPTION_VALUE_MAX_LENGTH < 0 */ - if (string->miss.len <= EXI_OPTION_VALUE_MAX_LENGTH) { - errn = exiAddStringValue(&state->stringTable, &(string->miss), - qnameID); - } -#endif /* EXI_OPTION_VALUE_MAX_LENGTH < 0 */ - } -#endif /* EXI_OPTION_VALUE_MAX_LENGTH != 0 */ -#endif /* EXI_OPTION_VALUE_PARTITION_CAPACITY != 0 */ - } - } - break; - default: - errn = EXI_UNSUPPORTED_STRING_VALUE_TYPE; - break; - } - - return errn; -} - -int encodeRCSStringValue(bitstream_t* stream, exi_state_t* state, - uint16_t qnameID, exi_rcs_t* rcs, exi_string_value_t* string) { - unsigned int i; - int errn; - uint32_t k; - - switch (string->type) { - case EXI_STRING_VALUE_LOCAL_HIT: - errn = encodeUnsignedInteger32(stream, 0); - if (errn == 0) { - errn = _writeStringValueLocalHit(stream, state, qnameID, - string->localID); - } - break; - case EXI_STRING_VALUE_GLOBAL_HIT: - errn = encodeUnsignedInteger32(stream, 1); - if (errn == 0) { - errn = _writeStringValueGlobalHit(stream, state, string->globalID); - } - break; - case EXI_STRING_VALUE_MISS: - /* encode string as string table miss */ - errn = encodeUnsignedInteger32(stream, (uint32_t)(string->miss.len + 2)); - if (errn == 0) { - for (i = 0; i < string->miss.len && errn == 0; i++) { - for (k = 0; k < rcs->size && errn == 0; k++) { - if (rcs->characters[k] == string->miss.characters[i]) { - errn = encodeNBitUnsignedInteger(stream, rcs->codingLength, - k); - break; /* break inner for loop */ - } - } - } -#if EXI_OPTION_VALUE_PARTITION_CAPACITY != 0 -#if EXI_OPTION_VALUE_MAX_LENGTH != 0 - /* If length L is greater than zero the string S is added */ - if (errn == 0 && string->miss.len > 0) { - /* After encoding the string value, it is added to both the - * associated "local" value string table partition and the global - * value string table partition */ -#if EXI_OPTION_VALUE_MAX_LENGTH < 0 - errn = exiAddStringValue(&state->stringTable, &(string->miss), qnameID); -#else /* EXI_OPTION_VALUE_MAX_LENGTH < 0 */ - if (string->miss.len <= EXI_OPTION_VALUE_MAX_LENGTH) { - errn = exiAddStringValue(&state->stringTable, &(string->miss), - qnameID); - } -#endif /* EXI_OPTION_VALUE_MAX_LENGTH < 0 */ - } -#endif /* EXI_OPTION_VALUE_MAX_LENGTH != 0 */ -#endif /* EXI_OPTION_VALUE_PARTITION_CAPACITY != 0 */ - } - break; - default: - errn = EXI_UNSUPPORTED_STRING_VALUE_TYPE; - break; - } - - return errn; -} - /** * Encode a sequence of characters according to a given length. * Each character is represented by its UCS [ISO/IEC 10646] * code point encoded as an Unsigned Integer */ -int encodeCharacters(bitstream_t* stream, exi_string_character_t* chars, uint16_t len) { +int encodeCharacters(bitstream_t* stream, exi_string_character_t* chars, size_t len) { unsigned int i; int errn = 0; for (i = 0; i < len && errn == 0; i++) { @@ -525,22 +379,22 @@ int encodeCharacters(bitstream_t* stream, exi_string_character_t* chars, uint16_ } -int encodeRCSCharacters(bitstream_t* stream, exi_string_character_t* chars, uint16_t len, uint16_t rcsCodeLength, uint16_t rcsSize, const exi_string_character_t rcsSet[]) { +int encodeRCSCharacters(bitstream_t* stream, exi_string_character_t* chars, size_t len, size_t rcsCodeLength, size_t rcsSize, const exi_string_character_t rcsSet[]) { unsigned int i; - int k; + unsigned int k; int errn = 0; - int rcsCode = -1; + size_t rcsCode = SIZE_MAX; for (i = 0; i < len && errn == 0; i++) { /* try to find short code */ - rcsCode = -1; - for(k=0; kpos) < stream->size ) { + stream->data[(*stream->pos)++] = b; + } else { + errn = EXI_ERROR_OUTPUT_STREAM_EOF; + } +#endif /* EXI_STREAM == BYTE_ARRAY */ +#if EXI_STREAM == FILE_STREAM + if ( putc(b, stream->file) == EOF ) { + errn = EXI_ERROR_OUTPUT_STREAM_EOF; + } +#endif /* EXI_STREAM == FILE_STREAM */ + return errn; +#endif /* EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT */ +} + +/** + * Encode a single boolean value. A false value is encoded as bit 0 and true + * value is encode as bit 1. + */ +int encodeBoolean(bitstream_t* stream, int b) { +#if EXI_OPTION_ALIGNMENT == BIT_PACKED + uint8_t val = b ? 1 : 0; + return writeBits(stream, 1, val); +#endif /* EXI_OPTION_ALIGNMENT == BIT_PACKED */ +#if EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT + uint8_t val = b ? 1 : 0; + return encode(stream, val); +#endif /* EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT */ +} + + +/** + * Encode n-bit unsigned integer. The n least significant bits of parameter + * b starting with the most significant, i.e. from left to right. + */ +int encodeNBitUnsignedInteger(bitstream_t* stream, size_t nbits, uint32_t val) { +#if EXI_OPTION_ALIGNMENT == BIT_PACKED + int errn = 0; + if (nbits > 0) { + errn = writeBits(stream, nbits, val); + } + return errn; +#endif /* EXI_OPTION_ALIGNMENT == BIT_PACKED */ +#if EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT + int errn = 0; + if (nbits > 0) { + if (nbits < 9) { + /* 1 byte */ + errn = encode(stream, val & 0xff); + } else if (nbits < 17) { + /* 2 bytes */ + errn = encode(stream, val & 0x00ff); + if(errn == 0) { + errn = encode(stream, (uint8_t)((val & 0xff00) >> 8)); + } + } else if (nbits < 25) { + /* 3 bytes */ + errn = encode(stream, val & 0x0000ff); + if(errn == 0) { + errn = encode(stream, (uint8_t)((val & 0x00ff00) >> 8)); + if(errn == 0) { + errn = encode(stream, (uint8_t)((val & 0xff0000) >> 16)); + } + } + } else if (nbits < 33) { + /* 4 bytes */ + errn = encode(stream, val & 0x000000ff); + if(errn == 0) { + errn = encode(stream, (uint8_t)((val & 0x0000ff00) >> 8)); + if(errn == 0) { + errn = encode(stream, (uint8_t)((val & 0x00ff0000) >> 16)); + if(errn == 0) { + errn = encode(stream, (uint8_t)((val & 0xff000000) >> 24)); + } + } + } + } else { + /* TODO Currently not more than 4 Bytes allowed for NBitUnsignedInteger */ + errn = EXI_UNSUPPORTED_NBIT_INTEGER_LENGTH; + } + } + return errn; +#endif /* EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT */ +} + +/** + * Flush underlying output stream. + */ +int encodeFinish(bitstream_t* stream) { +#if EXI_OPTION_ALIGNMENT == BIT_PACKED +#endif /* EXI_OPTION_ALIGNMENT == BIT_PACKED */ + return flush(stream); +#if EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT + /* no pending bits in byte-aligned mode */ + return 0; +#endif /* EXI_OPTION_ALIGNMENT == BYTE_ALIGNMENT */ +} + + + #endif diff --git a/src/codec/EncoderChannel.h b/src/codec/EncoderChannel.h index dfdb802..4eba629 100644 --- a/src/codec/EncoderChannel.h +++ b/src/codec/EncoderChannel.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -81,7 +81,7 @@ int encodeBoolean(bitstream_t* stream, int b); * \return Error-Code <> 0 * */ -int encodeNBitUnsignedInteger(bitstream_t* stream, uint16_t nbits, uint32_t val); +int encodeNBitUnsignedInteger(bitstream_t* stream, size_t nbits, uint32_t val); /** @@ -267,13 +267,14 @@ int encodeString(bitstream_t* stream, exi_string_t* string); * in the sense of string tables * * \param stream Output Stream - * \param state Codec state - * \param qnameID Qualified Name ID + * \param stringTable String Table + * \param namespaceUriID Qualified Namespace ID + * \param localNameID Qualified LocalName ID * \param string String value * \return Error-Code <> 0 * */ -int encodeStringValue(bitstream_t* stream, exi_state_t* state, uint16_t qnameID, +int encodeStringValue(bitstream_t* stream, exi_value_string_table_t* stringTable, size_t namespaceUriID, size_t localNameID, exi_string_value_t* string); @@ -284,15 +285,16 @@ int encodeStringValue(bitstream_t* stream, exi_state_t* state, uint16_t qnameID, * in the sense of string tables * * \param stream Output Stream - * \param state Codec state - * \param qnameID Qualified Name ID + * \param StringTable StringTable + * \param namespaceUriID Qualified Namespace ID + * \param localNameID Qualified LocalName ID * \param rcs Restricted character set * \param string String value * \return Error-Code <> 0 * */ -int encodeRCSStringValue(bitstream_t* stream, exi_state_t* state, - uint16_t qnameID, exi_rcs_t* rcs, exi_string_value_t* string); +int encodeRCSStringValue(bitstream_t* stream, exi_value_string_table_t* stringTable, + size_t namespaceUriID, size_t localNameID, exi_rcs_t* rcs, exi_string_value_t* string); /** @@ -308,7 +310,7 @@ int encodeRCSStringValue(bitstream_t* stream, exi_state_t* state, * \return Error-Code <> 0 * */ -int encodeCharacters(bitstream_t* stream, exi_string_character_t* chars, uint16_t len); +int encodeCharacters(bitstream_t* stream, exi_string_character_t* chars, size_t len); /** @@ -327,7 +329,7 @@ int encodeCharacters(bitstream_t* stream, exi_string_character_t* chars, uint16_ * \return Error-Code <> 0 * */ -int encodeRCSCharacters(bitstream_t* stream, exi_string_character_t* chars, uint16_t len, uint16_t rcsCodeLength, uint16_t rcsSize, const exi_string_character_t rcsSet[]); +int encodeRCSCharacters(bitstream_t* stream, exi_string_character_t* chars, size_t len, size_t rcsCodeLength, size_t rcsSize, const exi_string_character_t rcsSet[]); @@ -355,7 +357,7 @@ int encodeBinary(bitstream_t* stream, exi_bytes_t* bytes); * \return Error-Code <> 0 * */ -int encodeBytes(bitstream_t* stream, uint8_t* data, uint16_t len); +int encodeBytes(bitstream_t* stream, uint8_t* data, size_t len); /** * \brief Encode datetime diff --git a/src/codec/ErrorCodes.h b/src/codec/ErrorCodes.h index e574a45..3adf726 100644 --- a/src/codec/ErrorCodes.h +++ b/src/codec/ErrorCodes.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

diff --git a/src/codec/MethodsBag.c b/src/codec/MethodsBag.c index b637bb6..399ea22 100644 --- a/src/codec/MethodsBag.c +++ b/src/codec/MethodsBag.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -38,7 +38,7 @@ static const uint16_t smallLengths[] = { 0, 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4 }; -int exiGetCodingLength(uint16_t characteristics, uint16_t* codingLength) { +int exiGetCodingLength(size_t characteristics, size_t* codingLength) { /* Note: we could use range expressions in switch statements but those are non-standard */ /* e.g., case 1 ... 5: */ int errn = 0; diff --git a/src/codec/MethodsBag.h b/src/codec/MethodsBag.h index 9dce9c5..a5d0cc1 100644 --- a/src/codec/MethodsBag.h +++ b/src/codec/MethodsBag.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -41,7 +41,7 @@ #include - +#include /** * \brief Returns the number of bits to identify the characteristics. @@ -51,7 +51,7 @@ * \return Error-Code <> 0 * */ -int exiGetCodingLength(uint16_t characteristics, uint16_t* codingLength); +int exiGetCodingLength(size_t characteristics, size_t* codingLength); /** diff --git a/src/codec/v2gEXIDatatypes.c b/src/codec/v2gEXIDatatypes.c index a4070d0..8a98abf 100644 --- a/src/codec/v2gEXIDatatypes.c +++ b/src/codec/v2gEXIDatatypes.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -45,8 +45,14 @@ void init_v2gEXIDocument(struct v2gEXIDocument* exiDoc) { exiDoc->V2G_Message_isUsed = 0u; exiDoc->ServiceDiscoveryReq_isUsed = 0u; exiDoc->ServiceDiscoveryRes_isUsed = 0u; + exiDoc->FinePositioningReq_isUsed = 0u; + exiDoc->FinePositioningRes_isUsed = 0u; + exiDoc->DisconnectChargingDeviceReq_isUsed = 0u; + exiDoc->DisconnectChargingDeviceRes_isUsed = 0u; + exiDoc->PowerDemandReq_isUsed = 0u; exiDoc->MeteringReceiptReq_isUsed = 0u; exiDoc->PaymentDetailsReq_isUsed = 0u; + exiDoc->PowerDemandRes_isUsed = 0u; exiDoc->MeteringReceiptRes_isUsed = 0u; exiDoc->PaymentDetailsRes_isUsed = 0u; exiDoc->SessionSetupReq_isUsed = 0u; @@ -55,10 +61,18 @@ void init_v2gEXIDocument(struct v2gEXIDocument* exiDoc) { exiDoc->CableCheckRes_isUsed = 0u; exiDoc->CertificateInstallationReq_isUsed = 0u; exiDoc->CertificateInstallationRes_isUsed = 0u; + exiDoc->SystemStatusReq_isUsed = 0u; + exiDoc->SystemStatusRes_isUsed = 0u; + exiDoc->PairingReq_isUsed = 0u; exiDoc->WeldingDetectionReq_isUsed = 0u; + exiDoc->ConnectChargingDeviceReq_isUsed = 0u; + exiDoc->EVSEErrorInformation_isUsed = 0u; + exiDoc->PairingRes_isUsed = 0u; exiDoc->WeldingDetectionRes_isUsed = 0u; + exiDoc->ConnectChargingDeviceRes_isUsed = 0u; exiDoc->CertificateUpdateReq_isUsed = 0u; exiDoc->CertificateUpdateRes_isUsed = 0u; + exiDoc->EVErrorInformation_isUsed = 0u; exiDoc->PaymentServiceSelectionReq_isUsed = 0u; exiDoc->PowerDeliveryReq_isUsed = 0u; exiDoc->PaymentServiceSelectionRes_isUsed = 0u; @@ -66,38 +80,61 @@ void init_v2gEXIDocument(struct v2gEXIDocument* exiDoc) { exiDoc->ChargingStatusReq_isUsed = 0u; exiDoc->ChargingStatusRes_isUsed = 0u; exiDoc->BodyElement_isUsed = 0u; + exiDoc->AC_BidirectionalControlReq_isUsed = 0u; + exiDoc->AC_BidirectionalControlRes_isUsed = 0u; + exiDoc->ErrorInformation_isUsed = 0u; + exiDoc->VehicleCheckInReq_isUsed = 0u; exiDoc->CurrentDemandReq_isUsed = 0u; + exiDoc->VehicleCheckInRes_isUsed = 0u; exiDoc->PreChargeReq_isUsed = 0u; exiDoc->CurrentDemandRes_isUsed = 0u; exiDoc->PreChargeRes_isUsed = 0u; + exiDoc->AlignmentCheckReq_isUsed = 0u; + exiDoc->V2GRequest_isUsed = 0u; exiDoc->SessionStopReq_isUsed = 0u; exiDoc->AuthorizationReq_isUsed = 0u; + exiDoc->AlignmentCheckRes_isUsed = 0u; exiDoc->SessionStopRes_isUsed = 0u; exiDoc->AuthorizationRes_isUsed = 0u; + exiDoc->VehicleCheckOutReq_isUsed = 0u; exiDoc->ChargeParameterDiscoveryReq_isUsed = 0u; + exiDoc->VehicleCheckOutRes_isUsed = 0u; exiDoc->ChargeParameterDiscoveryRes_isUsed = 0u; + exiDoc->V2GResponse_isUsed = 0u; + exiDoc->FinePositioningSetupReq_isUsed = 0u; + exiDoc->FinePositioningSetupRes_isUsed = 0u; exiDoc->ServiceDetailReq_isUsed = 0u; + exiDoc->DC_BidirectionalControlReq_isUsed = 0u; exiDoc->ServiceDetailRes_isUsed = 0u; - exiDoc->DC_EVSEStatus_isUsed = 0u; + exiDoc->DC_BidirectionalControlRes_isUsed = 0u; + exiDoc->LFA_EVFinePositioningSetupParameters_isUsed = 0u; + exiDoc->MV_EVSEFinePositioningParameters_isUsed = 0u; exiDoc->RelativeTimeInterval_isUsed = 0u; exiDoc->SalesTariffEntry_isUsed = 0u; - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiDoc->SASchedules_isUsed = 0u; + exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u; exiDoc->AC_EVChargeParameter_isUsed = 0u; + exiDoc->MV_EVSEFinePositioningSetupParameters_isUsed = 0u; + exiDoc->EVEnergyTransferParameter_isUsed = 0u; + exiDoc->DC_EVSEBidirectionalParameter_isUsed = 0u; exiDoc->SAScheduleList_isUsed = 0u; - exiDoc->DC_EVStatus_isUsed = 0u; - exiDoc->EVStatus_isUsed = 0u; + exiDoc->EVSEFinePositioningSetupParameters_isUsed = 0u; + exiDoc->LF_EVSEFinePositioningParameters_isUsed = 0u; + exiDoc->Generic_EVSEFinePositioningParameters_isUsed = 0u; exiDoc->DC_EVChargeParameter_isUsed = 0u; exiDoc->DC_EVSEChargeParameter_isUsed = 0u; - exiDoc->EVSEStatus_isUsed = 0u; - exiDoc->TimeInterval_isUsed = 0u; - exiDoc->EVPowerDeliveryParameter_isUsed = 0u; - exiDoc->EVSEChargeParameter_isUsed = 0u; - exiDoc->AC_EVSEStatus_isUsed = 0u; - exiDoc->Entry_isUsed = 0u; + exiDoc->LFA_EVFinePositioningParameters_isUsed = 0u; + exiDoc->EVFinePositioningSetupParameters_isUsed = 0u; + exiDoc->AC_EVSEBidirectionalParameter_isUsed = 0u; + exiDoc->EVFinePositioningParameters_isUsed = 0u; + exiDoc->WPT_EVChargeParameter_isUsed = 0u; + exiDoc->EVSEEnergyTransferParameter_isUsed = 0u; + exiDoc->AC_EVBidirectionalParameter_isUsed = 0u; + exiDoc->EVSEFinePositioningParameters_isUsed = 0u; + exiDoc->WPT_EVSEChargeParameter_isUsed = 0u; exiDoc->AC_EVSEChargeParameter_isUsed = 0u; exiDoc->PMaxScheduleEntry_isUsed = 0u; - exiDoc->EVChargeParameter_isUsed = 0u; + exiDoc->Generic_EVFinePositioningParameters_isUsed = 0u; + exiDoc->DC_EVBidirectionalParameter_isUsed = 0u; exiDoc->SignatureProperty_isUsed = 0u; exiDoc->DSAKeyValue_isUsed = 0u; exiDoc->SignatureProperties_isUsed = 0u; @@ -124,358 +161,700 @@ void init_v2gEXIDocument(struct v2gEXIDocument* exiDoc) { exiDoc->Object_isUsed = 0u; } + #if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES void init_v2gEXIFragment(struct v2gEXIFragment* exiFrag) { - exiFrag->RSAKeyValue_isUsed = 0u; - exiFrag->ServiceDetailReq_isUsed = 0u; - exiFrag->EVSEEnergyToBeDelivered_isUsed = 0u; - exiFrag->CableCheckRes_isUsed = 0u; - exiFrag->EVMaxVoltage_isUsed = 0u; - exiFrag->RemainingTimeToBulkSoC_isUsed = 0u; - exiFrag->Notification_isUsed = 0u; - exiFrag->Parameter_isUsed = 0u; - exiFrag->amountMultiplier_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryRes_isUsed = 0u; - exiFrag->FaultCode_isUsed = 0u; - exiFrag->ChargingProfile_isUsed = 0u; - exiFrag->EVSEStatusCode_isUsed = 0u; - exiFrag->Exponent_isUsed = 0u; - exiFrag->ServiceDetailRes_isUsed = 0u; - exiFrag->PreChargeReq_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u; - exiFrag->J_isUsed = 0u; - exiFrag->RelativeTimeInterval_isUsed = 0u; - exiFrag->CertificateUpdateReq_isUsed = 0u; - exiFrag->Transforms_isUsed = 0u; - exiFrag->X509CRL_isUsed = 0u; - exiFrag->Manifest_isUsed = 0u; + exiFrag->EVMaximumVoltage_isUsed = 0u; + exiFrag->EVMaximumVoltage_isUsed = 0u; + exiFrag->FrequencyChannel_isUsed = 0u; + exiFrag->FrequencyChannel_isUsed = 0u; + exiFrag->EVProcessing_isUsed = 0u; + exiFrag->EVProcessing_isUsed = 0u; + exiFrag->EVProcessing_isUsed = 0u; exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->EVSENotification_isUsed = 0u; - exiFrag->EVSEPowerLimitAchieved_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->EVSETimeStamp_isUsed = 0u; - exiFrag->EVSETimeStamp_isUsed = 0u; - exiFrag->OEMProvisioningCert_isUsed = 0u; - exiFrag->MeterID_isUsed = 0u; - exiFrag->SalesTariffID_isUsed = 0u; - exiFrag->TMeter_isUsed = 0u; - exiFrag->byteValue_isUsed = 0u; - exiFrag->DigestMethod_isUsed = 0u; - exiFrag->FaultMsg_isUsed = 0u; - exiFrag->FullSOC_isUsed = 0u; - exiFrag->WeldingDetectionReq_isUsed = 0u; - exiFrag->BulkChargingComplete_isUsed = 0u; - exiFrag->SAScheduleList_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->eMAID_isUsed = 0u; - exiFrag->ServiceDiscoveryReq_isUsed = 0u; - exiFrag->EVMaxCurrent_isUsed = 0u; - exiFrag->X509IssuerSerial_isUsed = 0u; - exiFrag->BodyElement_isUsed = 0u; - exiFrag->EVSEChargeParameter_isUsed = 0u; + exiFrag->ParkingMethod_isUsed = 0u; exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->EVSEPresentCurrent_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->PGPKeyPacket_isUsed = 0u; - exiFrag->PaymentOption_isUsed = 0u; - exiFrag->CertificateInstallationRes_isUsed = 0u; - exiFrag->PgenCounter_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->X509SerialNumber_isUsed = 0u; - exiFrag->Body_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->EPriceLevel_isUsed = 0u; - exiFrag->EVTargetVoltage_isUsed = 0u; - exiFrag->FreeService_isUsed = 0u; - exiFrag->Reference_isUsed = 0u; - exiFrag->CurrentDemandReq_isUsed = 0u; - exiFrag->SignedInfo_isUsed = 0u; - exiFrag->TimeInterval_isUsed = 0u; - exiFrag->ChargeService_isUsed = 0u; - exiFrag->Service_isUsed = 0u; - exiFrag->boolValue_isUsed = 0u; - exiFrag->MeteringReceiptReq_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->KeyValue_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->EVSEID_isUsed = 0u; - exiFrag->MeterInfo_isUsed = 0u; - exiFrag->stringValue_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; - exiFrag->PMax_isUsed = 0u; - exiFrag->RemainingTimeToFullSoC_isUsed = 0u; - exiFrag->EVSEStatus_isUsed = 0u; - exiFrag->Unit_isUsed = 0u; - exiFrag->Y_isUsed = 0u; - exiFrag->RequestedEnergyTransferMode_isUsed = 0u; - exiFrag->EVSEPeakCurrentRipple_isUsed = 0u; - exiFrag->EAmount_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->EVSEPresentVoltage_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->ResponseCode_isUsed = 0u; - exiFrag->AC_EVSEChargeParameter_isUsed = 0u; - exiFrag->SignatureMethod_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->ReceiptRequired_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->ReceiptRequired_isUsed = 0u; - exiFrag->ChargingProfileEntryStart_isUsed = 0u; - exiFrag->CurrentDemandRes_isUsed = 0u; - exiFrag->ConsumptionCost_isUsed = 0u; - exiFrag->ServiceParameterList_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; - exiFrag->X509Data_isUsed = 0u; - exiFrag->Seed_isUsed = 0u; - exiFrag->SalesTariffDescription_isUsed = 0u; - exiFrag->Modulus_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->Certificate_isUsed = 0u; - exiFrag->CableCheckReq_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->Multiplier_isUsed = 0u; - exiFrag->KeyInfo_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->EVTargetCurrent_isUsed = 0u; - exiFrag->PowerDeliveryReq_isUsed = 0u; - exiFrag->X509IssuerName_isUsed = 0u; - exiFrag->SessionStopReq_isUsed = 0u; - exiFrag->X509SubjectName_isUsed = 0u; - exiFrag->PMaxScheduleEntry_isUsed = 0u; - exiFrag->ChargeProgress_isUsed = 0u; - exiFrag->SelectedPaymentOption_isUsed = 0u; - exiFrag->MgmtData_isUsed = 0u; - exiFrag->AC_EVChargeParameter_isUsed = 0u; - exiFrag->EVSEMinimumCurrentLimit_isUsed = 0u; - exiFrag->WeldingDetectionRes_isUsed = 0u; - exiFrag->physicalValue_isUsed = 0u; - exiFrag->ServiceName_isUsed = 0u; - exiFrag->NumEPriceLevels_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->EVSEProcessing_isUsed = 0u; - exiFrag->PGPKeyID_isUsed = 0u; - exiFrag->startValue_isUsed = 0u; - exiFrag->MeteringReceiptRes_isUsed = 0u; - exiFrag->EVEnergyRequest_isUsed = 0u; - exiFrag->MaxEntriesSAScheduleTuple_isUsed = 0u; - exiFrag->EVReady_isUsed = 0u; - exiFrag->X509SKI_isUsed = 0u; - exiFrag->EVSEMaximumVoltageLimit_isUsed = 0u; - exiFrag->SignatureProperties_isUsed = 0u; - exiFrag->P_isUsed = 0u; - exiFrag->SignatureValue_isUsed = 0u; - exiFrag->MeterStatus_isUsed = 0u; - exiFrag->DC_EVSEChargeParameter_isUsed = 0u; - exiFrag->SalesTariff_isUsed = 0u; - exiFrag->SessionSetupReq_isUsed = 0u; - exiFrag->EVMinCurrent_isUsed = 0u; - exiFrag->RetryCounter_isUsed = 0u; - exiFrag->AC_EVSEStatus_isUsed = 0u; - exiFrag->PGPData_isUsed = 0u; - exiFrag->EVMaximumPowerLimit_isUsed = 0u; - exiFrag->SessionStopRes_isUsed = 0u; - exiFrag->AuthorizationReq_isUsed = 0u; - exiFrag->ServiceDiscoveryRes_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->GenChallenge_isUsed = 0u; - exiFrag->SAScheduleTuple_isUsed = 0u; - exiFrag->PaymentServiceSelectionRes_isUsed = 0u; - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 0u; - exiFrag->EVRESSSOC_isUsed = 0u; - exiFrag->ChargingStatusRes_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->ContractSignatureCertChain_isUsed = 0u; - exiFrag->X509Certificate_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->SPKISexp_isUsed = 0u; - exiFrag->CanonicalizationMethod_isUsed = 0u; - exiFrag->duration_isUsed = 0u; + exiFrag->Distance_isUsed = 0u; exiFrag->ParameterSet_isUsed = 0u; - exiFrag->ChargeParameterDiscoveryReq_isUsed = 0u; - exiFrag->SigMeterReading_isUsed = 0u; - exiFrag->SASchedules_isUsed = 0u; - exiFrag->SessionSetupRes_isUsed = 0u; - exiFrag->SupportedEnergyTransferMode_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->SPKIData_isUsed = 0u; - exiFrag->SAScheduleTupleID_isUsed = 0u; - exiFrag->DC_EVStatus_isUsed = 0u; - exiFrag->Object_isUsed = 0u; - exiFrag->ChargingComplete_isUsed = 0u; - exiFrag->DSAKeyValue_isUsed = 0u; - exiFrag->Signature_isUsed = 0u; - exiFrag->Transform_isUsed = 0u; - exiFrag->ChargingStatusReq_isUsed = 0u; - exiFrag->amount_isUsed = 0u; - exiFrag->SelectedServiceList_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; - exiFrag->G_isUsed = 0u; - exiFrag->start_isUsed = 0u; - exiFrag->PaymentOptionList_isUsed = 0u; - exiFrag->Cost_isUsed = 0u; - exiFrag->Header_isUsed = 0u; - exiFrag->PMaxSchedule_isUsed = 0u; - exiFrag->EVSEMinimumVoltageLimit_isUsed = 0u; - exiFrag->ProfileEntry_isUsed = 0u; - exiFrag->ServiceCategory_isUsed = 0u; - exiFrag->ServiceScope_isUsed = 0u; - exiFrag->EVSENominalVoltage_isUsed = 0u; - exiFrag->EVStatus_isUsed = 0u; - exiFrag->SelectedService_isUsed = 0u; - exiFrag->EnergyTransferMode_isUsed = 0u; - exiFrag->EVSECurrentLimitAchieved_isUsed = 0u; - exiFrag->Value_isUsed = 0u; - exiFrag->KeyName_isUsed = 0u; - exiFrag->PaymentServiceSelectionReq_isUsed = 0u; - exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u; - exiFrag->PowerDeliveryRes_isUsed = 0u; - exiFrag->DigestValue_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->ParameterSetID_isUsed = 0u; - exiFrag->SubCertificates_isUsed = 0u; - exiFrag->DHpublickey_isUsed = 0u; - exiFrag->DHpublickey_isUsed = 0u; - exiFrag->CertificateInstallationReq_isUsed = 0u; - exiFrag->EVMaximumVoltageLimit_isUsed = 0u; - exiFrag->shortValue_isUsed = 0u; - exiFrag->SAProvisioningCertificateChain_isUsed = 0u; - exiFrag->SAProvisioningCertificateChain_isUsed = 0u; - exiFrag->RCD_isUsed = 0u; - exiFrag->EVEnergyCapacity_isUsed = 0u; - exiFrag->RetrievalMethod_isUsed = 0u; - exiFrag->PaymentDetailsReq_isUsed = 0u; - exiFrag->SessionID_isUsed = 0u; - exiFrag->NotificationMaxDelay_isUsed = 0u; - exiFrag->Entry_isUsed = 0u; - exiFrag->RootCertificateID_isUsed = 0u; - exiFrag->AuthorizationRes_isUsed = 0u; - exiFrag->costKind_isUsed = 0u; - exiFrag->DepartureTime_isUsed = 0u; - exiFrag->EVSEIsolationStatus_isUsed = 0u; - exiFrag->DC_EVChargeParameter_isUsed = 0u; - exiFrag->V2G_Message_isUsed = 0u; - exiFrag->EVSECurrentRegulationTolerance_isUsed = 0u; - exiFrag->EVCCID_isUsed = 0u; - exiFrag->EVChargeParameter_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->ServiceID_isUsed = 0u; - exiFrag->EVMaximumCurrentLimit_isUsed = 0u; - exiFrag->EVSEMaxCurrent_isUsed = 0u; - exiFrag->ChargingProfileEntryMaxPower_isUsed = 0u; - exiFrag->HMACOutputLength_isUsed = 0u; - exiFrag->intValue_isUsed = 0u; - exiFrag->ServiceList_isUsed = 0u; - exiFrag->SignatureProperty_isUsed = 0u; - exiFrag->BulkSOC_isUsed = 0u; - exiFrag->SalesTariffEntry_isUsed = 0u; - exiFrag->EVErrorCode_isUsed = 0u; - exiFrag->PreChargeRes_isUsed = 0u; - exiFrag->EVSEMaximumPowerLimit_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->DC_EVSEStatus_isUsed = 0u; - exiFrag->CertificateUpdateRes_isUsed = 0u; - exiFrag->MeterReading_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->ListOfRootCertificateIDs_isUsed = 0u; - exiFrag->EVSEMaximumCurrentLimit_isUsed = 0u; + exiFrag->EVMinimumDischargeCurrent_isUsed = 0u; + exiFrag->SignalSeparationTime_isUsed = 0u; + exiFrag->SignalSeparationTime_isUsed = 0u; + exiFrag->EVSEEnergyTransferParameter_isUsed = 0u; + exiFrag->EVSEMaximumVoltage_isUsed = 0u; + exiFrag->EVSEMaximumVoltage_isUsed = 0u; + exiFrag->DC_EVSEBidirectionalParameter_isUsed = 0u; exiFrag->ChargingSession_isUsed = 0u; - exiFrag->PaymentDetailsRes_isUsed = 0u; + exiFrag->SubCertificates_isUsed = 0u; + exiFrag->RetrievalMethod_isUsed = 0u; + exiFrag->MagneticVectorSetupList_isUsed = 0u; + exiFrag->PairingParameters_isUsed = 0u; + exiFrag->PairingParameters_isUsed = 0u; + exiFrag->EVSEMinimumPower_isUsed = 0u; + exiFrag->AC_BidirectionalControlReq_isUsed = 0u; + exiFrag->Cost_isUsed = 0u; + exiFrag->AC_BidirectionalControlRes_isUsed = 0u; + exiFrag->BuyBackTariff_isUsed = 0u; + exiFrag->XCoordinate_isUsed = 0u; + exiFrag->EVSECheckOutStatus_isUsed = 0u; + exiFrag->stringValue_isUsed = 0u; + exiFrag->RetryCounter_isUsed = 0u; + exiFrag->EVSEMaximumDischargeCurrent_isUsed = 0u; + exiFrag->Sensor_isUsed = 0u; + exiFrag->MeterReadingCharged_isUsed = 0u; + exiFrag->HMACOutputLength_isUsed = 0u; + exiFrag->V2GResponse_isUsed = 0u; + exiFrag->EVMinimumVoltage_isUsed = 0u; + exiFrag->EVMinimumEnergyRequest_isUsed = 0u; + exiFrag->EVMinimumEnergyRequest_isUsed = 0u; + exiFrag->EVMinimumEnergyRequest_isUsed = 0u; + exiFrag->RelativeTimeInterval_isUsed = 0u; + exiFrag->RelativeTimeInterval_isUsed = 0u; + exiFrag->WPT_EVChargeParameter_isUsed = 0u; + exiFrag->SAScheduleTuple_isUsed = 0u; + exiFrag->ServiceID_isUsed = 0u; + exiFrag->ServiceID_isUsed = 0u; + exiFrag->PgenCounter_isUsed = 0u; + exiFrag->SalesTariffDescription_isUsed = 0u; + exiFrag->AngleGAtoVA_isUsed = 0u; + exiFrag->boolValue_isUsed = 0u; + exiFrag->EVMaximumDischargeCurrent_isUsed = 0u; + exiFrag->EVMaximumDischargeCurrent_isUsed = 0u; + exiFrag->ErrorInformation_isUsed = 0u; + exiFrag->NotificationMaxDelay_isUsed = 0u; + exiFrag->EVSEMaximumDischargePower_isUsed = 0u; + exiFrag->PGPData_isUsed = 0u; + exiFrag->EVSEMaximumChargePower_isUsed = 0u; + exiFrag->SessionID_isUsed = 0u; + exiFrag->EVSEEnergyToBeDelivered_isUsed = 0u; + exiFrag->EVMaximumPower_isUsed = 0u; + exiFrag->EVMaximumCurrent_isUsed = 0u; + exiFrag->RSAKeyValue_isUsed = 0u; + exiFrag->EVSENominalVoltage_isUsed = 0u; + exiFrag->MagneticVector_isUsed = 0u; exiFrag->XPath_isUsed = 0u; + exiFrag->Signature_isUsed = 0u; + exiFrag->EVElectricalChargingDeviceStatus_isUsed = 0u; + exiFrag->EVElectricalChargingDeviceStatus_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->EVSEProcessing_isUsed = 0u; + exiFrag->FODStatus_isUsed = 0u; + exiFrag->PowerDeliveryRes_isUsed = 0u; + exiFrag->SessionStopRes_isUsed = 0u; + exiFrag->WPT_EVSEChargeParameter_isUsed = 0u; + exiFrag->ResponseCode_isUsed = 0u; + exiFrag->EVTargetEnergyRequest_isUsed = 0u; + exiFrag->EVTargetEnergyRequest_isUsed = 0u; + exiFrag->EVTargetEnergyRequest_isUsed = 0u; + exiFrag->FinePositioningSetupReq_isUsed = 0u; + exiFrag->EVSEPresentCurrent_isUsed = 0u; + exiFrag->EVSEPresentCurrent_isUsed = 0u; + exiFrag->FinePositioningSetupRes_isUsed = 0u; + exiFrag->ProfileEntry_isUsed = 0u; + exiFrag->MgmtData_isUsed = 0u; + exiFrag->SAProvisioningCertificateChain_isUsed = 0u; + exiFrag->SAProvisioningCertificateChain_isUsed = 0u; + exiFrag->PowerDeliveryReq_isUsed = 0u; + exiFrag->SessionStopReq_isUsed = 0u; + exiFrag->ReceiptRequired_isUsed = 0u; + exiFrag->ReceiptRequired_isUsed = 0u; + exiFrag->ReceiptRequired_isUsed = 0u; + exiFrag->ReceiptRequired_isUsed = 0u; + exiFrag->ReceiptRequired_isUsed = 0u; + exiFrag->ChargingProfile_isUsed = 0u; + exiFrag->MaxSupportingPoints_isUsed = 0u; + exiFrag->start_isUsed = 0u; + exiFrag->EVMinimumChargePower_isUsed = 0u; + exiFrag->amount_isUsed = 0u; + exiFrag->PreChargeReq_isUsed = 0u; + exiFrag->OEMProvisioningCert_isUsed = 0u; + exiFrag->PackageIndex_isUsed = 0u; + exiFrag->PreChargeRes_isUsed = 0u; + exiFrag->P_isUsed = 0u; exiFrag->Q_isUsed = 0u; + exiFrag->X509SubjectName_isUsed = 0u; + exiFrag->G_isUsed = 0u; + exiFrag->J_isUsed = 0u; + exiFrag->SessionID_isUsed = 0u; + exiFrag->ContractSignatureCertChain_isUsed = 0u; + exiFrag->ContractSignatureCertChain_isUsed = 0u; + exiFrag->ContractSignatureCertChain_isUsed = 0u; + exiFrag->ContractSignatureCertChain_isUsed = 0u; + exiFrag->MV_EVSEFinePositioningSetupParameters_isUsed = 0u; + exiFrag->EVSEMinimumDischargeCurrent_isUsed = 0u; + exiFrag->EVMaximumChargeCurrent_isUsed = 0u; + exiFrag->EVMaximumChargeCurrent_isUsed = 0u; + exiFrag->AlignmentOffset_isUsed = 0u; + exiFrag->AlignmentOffset_isUsed = 0u; + exiFrag->Y_isUsed = 0u; + exiFrag->RemainingTimeToTargetSOC_isUsed = 0u; + exiFrag->DigestValue_isUsed = 0u; + exiFrag->SensorMeasurements_isUsed = 0u; + exiFrag->SalesTariff_isUsed = 0u; + exiFrag->EVCCID_isUsed = 0u; + exiFrag->EVSEMaximumPower_isUsed = 0u; + exiFrag->TargetOffset_isUsed = 0u; + exiFrag->PowerDemandParameters_isUsed = 0u; + exiFrag->PowerDemandParameters_isUsed = 0u; + exiFrag->PGPKeyID_isUsed = 0u; + exiFrag->DisconnectChargingDeviceReq_isUsed = 0u; + exiFrag->DisconnectChargingDeviceRes_isUsed = 0u; + exiFrag->DSAKeyValue_isUsed = 0u; + exiFrag->SalesTariffEntry_isUsed = 0u; + exiFrag->CertificateInstallationRes_isUsed = 0u; + exiFrag->CanonicalizationMethod_isUsed = 0u; + exiFrag->Generic_EVFinePositioningParameters_isUsed = 0u; + exiFrag->EVSEMinimumVoltage_isUsed = 0u; + exiFrag->SystemStatusRes_isUsed = 0u; + exiFrag->EVSEOutputPower_isUsed = 0u; + exiFrag->SignedInfo_isUsed = 0u; + exiFrag->EVMinimumChargeCurrent_isUsed = 0u; + exiFrag->EVMinimumChargeCurrent_isUsed = 0u; + exiFrag->costKind_isUsed = 0u; + exiFrag->SystemStatusReq_isUsed = 0u; + exiFrag->CableCheckReq_isUsed = 0u; + exiFrag->NumEPriceLevels_isUsed = 0u; + exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u; + exiFrag->EVSEVoltageLimitAchieved_isUsed = 0u; + exiFrag->PackageSeparationTime_isUsed = 0u; + exiFrag->PackageSeparationTime_isUsed = 0u; + exiFrag->CableCheckRes_isUsed = 0u; + exiFrag->EVCheckInStatus_isUsed = 0u; + exiFrag->PMaxDischargeSchedule_isUsed = 0u; + exiFrag->EVMinimumPower_isUsed = 0u; + exiFrag->ChargingPerformance_isUsed = 0u; + exiFrag->AlignmentCheckReq_isUsed = 0u; + exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 0u; + exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 0u; + exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 0u; + exiFrag->VehicleSpace_isUsed = 0u; + exiFrag->AlignmentCheckRes_isUsed = 0u; + exiFrag->EVMinimumDischargePower_isUsed = 0u; + exiFrag->RemainingTimeToMinimumSOC_isUsed = 0u; + exiFrag->AuthorizationRes_isUsed = 0u; + exiFrag->CertificateInstallationReq_isUsed = 0u; + exiFrag->PaymentDetailsReq_isUsed = 0u; + exiFrag->PaymentDetailsRes_isUsed = 0u; + exiFrag->AuthorizationReq_isUsed = 0u; + exiFrag->EVTargetCurrent_isUsed = 0u; + exiFrag->EVTargetCurrent_isUsed = 0u; + exiFrag->EVTargetCurrent_isUsed = 0u; + exiFrag->SessionSetupReq_isUsed = 0u; + exiFrag->SessionSetupRes_isUsed = 0u; + exiFrag->EVSENominalFrequency_isUsed = 0u; + exiFrag->EVSENominalFrequency_isUsed = 0u; + exiFrag->Header_isUsed = 0u; + exiFrag->NumberOfSensors_isUsed = 0u; + exiFrag->NumberOfSensors_isUsed = 0u; + exiFrag->EVSETimeStamp_isUsed = 0u; + exiFrag->EVSETimeStamp_isUsed = 0u; + exiFrag->MeterStatus_isUsed = 0u; + exiFrag->EVSEMaximumPower_isUsed = 0u; + exiFrag->MV_EVSEFinePositioningParameters_isUsed = 0u; + exiFrag->ChargeProgress_isUsed = 0u; + exiFrag->KeyName_isUsed = 0u; + exiFrag->PMaxSchedule_isUsed = 0u; + exiFrag->duration_isUsed = 0u; + exiFrag->RemainingTimeToBulkSOC_isUsed = 0u; + exiFrag->SensorOrientation_isUsed = 0u; + exiFrag->EVSEMinimumVoltage_isUsed = 0u; + exiFrag->EVSEMaximumChargeCurrent_isUsed = 0u; + exiFrag->VehicleCheckInRes_isUsed = 0u; + exiFrag->PMaxScheduleEntry_isUsed = 0u; + exiFrag->SAScheduleList_isUsed = 0u; + exiFrag->X509SKI_isUsed = 0u; + exiFrag->PaymentOptionList_isUsed = 0u; + exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; + exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 0u; + exiFrag->VehicleCheckInReq_isUsed = 0u; + exiFrag->Certificate_isUsed = 0u; + exiFrag->Certificate_isUsed = 0u; + exiFrag->CheckOutTime_isUsed = 0u; + exiFrag->CurrentSOC_isUsed = 0u; + exiFrag->CurrentSOC_isUsed = 0u; + exiFrag->ZCoordinate_isUsed = 0u; + exiFrag->MeasurementData_isUsed = 0u; + exiFrag->PairingRes_isUsed = 0u; + exiFrag->EVSEMaximumCurrent_isUsed = 0u; + exiFrag->LFA_EVFinePositioningParameters_isUsed = 0u; + exiFrag->AlignmentCheckParameters_isUsed = 0u; + exiFrag->AlignmentCheckParameters_isUsed = 0u; + exiFrag->EffectiveRadiatedPower_isUsed = 0u; + exiFrag->EVErrorInformation_isUsed = 0u; + exiFrag->PairingReq_isUsed = 0u; + exiFrag->EVMinimumChargeCurrent_isUsed = 0u; + exiFrag->EVMinimumChargeCurrent_isUsed = 0u; + exiFrag->Value_isUsed = 0u; + exiFrag->byteValue_isUsed = 0u; + exiFrag->EVSEMaximumChargeCurrent_isUsed = 0u; + exiFrag->EVSEMaximumChargeCurrent_isUsed = 0u; + exiFrag->CurrentDemandReq_isUsed = 0u; + exiFrag->Generic_EVSEFinePositioningParameters_isUsed = 0u; + exiFrag->CurrentDemandRes_isUsed = 0u; + exiFrag->SAScheduleList_isUsed = 0u; + exiFrag->AC_EVBidirectionalParameter_isUsed = 0u; + exiFrag->Modulus_isUsed = 0u; + exiFrag->SelectedEnergyTransferService_isUsed = 0u; + exiFrag->startValue_isUsed = 0u; + exiFrag->SelectedVASList_isUsed = 0u; + exiFrag->EVSEMaximumDischargePower_isUsed = 0u; + exiFrag->ChargeParameterDiscoveryReq_isUsed = 0u; + exiFrag->ChargeParameterDiscoveryRes_isUsed = 0u; + exiFrag->EVMaximumDischargeCurrent_isUsed = 0u; + exiFrag->EVMaximumDischargeCurrent_isUsed = 0u; + exiFrag->SigMeterReading_isUsed = 0u; + exiFrag->TargetSOC_isUsed = 0u; + exiFrag->TargetSOC_isUsed = 0u; + exiFrag->EVMaximumPower_isUsed = 0u; + exiFrag->EVSEMaximumChargePower_isUsed = 0u; + exiFrag->EVSEStatus_isUsed = 0u; + exiFrag->EVSEMinimumChargeCurrent_isUsed = 0u; + exiFrag->EVSEElectricalChargingDeviceStatus_isUsed = 0u; + exiFrag->EVSEElectricalChargingDeviceStatus_isUsed = 0u; + exiFrag->X509SerialNumber_isUsed = 0u; + exiFrag->PaymentOption_isUsed = 0u; + exiFrag->Transforms_isUsed = 0u; + exiFrag->EVSEPeakCurrentRipple_isUsed = 0u; + exiFrag->ConsumptionCost_isUsed = 0u; + exiFrag->EVTargetEnergyRequest_isUsed = 0u; + exiFrag->EVSEFinePositioningSetupParameters_isUsed = 0u; + exiFrag->EPriceLevel_isUsed = 0u; + exiFrag->Exponent_isUsed = 0u; + exiFrag->X509IssuerSerial_isUsed = 0u; + exiFrag->SPKIData_isUsed = 0u; + exiFrag->MagneticVectorList_isUsed = 0u; + exiFrag->EVSEFinePositioningParameters_isUsed = 0u; + exiFrag->EVTargetPower_isUsed = 0u; + exiFrag->SensorPackageList_isUsed = 0u; + exiFrag->SensorPackageList_isUsed = 0u; + exiFrag->DepartureTime_isUsed = 0u; + exiFrag->LF_EVSEFinePositioningParameters_isUsed = 0u; + exiFrag->InletHot_isUsed = 0u; + exiFrag->EVPresentActivePower_isUsed = 0u; + exiFrag->X509Data_isUsed = 0u; + exiFrag->YCoordinate_isUsed = 0u; + exiFrag->KeyValue_isUsed = 0u; + exiFrag->DisplayParameters_isUsed = 0u; + exiFrag->EVSEPowerLimitAchieved_isUsed = 0u; + exiFrag->EVSEPowerLimitAchieved_isUsed = 0u; + exiFrag->Body_isUsed = 0u; + exiFrag->DC_EVChargeParameter_isUsed = 0u; + exiFrag->SAScheduleTupleID_isUsed = 0u; + exiFrag->SAScheduleTupleID_isUsed = 0u; + exiFrag->SAScheduleTupleID_isUsed = 0u; + exiFrag->SAScheduleTupleID_isUsed = 0u; + exiFrag->SAScheduleTupleID_isUsed = 0u; + exiFrag->SAScheduleTupleID_isUsed = 0u; + exiFrag->SAScheduleTupleID_isUsed = 0u; + exiFrag->Service_isUsed = 0u; + exiFrag->EVMinimumDischargeCurrent_isUsed = 0u; + exiFrag->EVMinimumDischargeCurrent_isUsed = 0u; + exiFrag->SignatureProperty_isUsed = 0u; + exiFrag->PGPKeyPacket_isUsed = 0u; + exiFrag->PGPKeyPacket_isUsed = 0u; + exiFrag->Seed_isUsed = 0u; + exiFrag->LFA_EVFinePositioningSetupParameters_isUsed = 0u; + exiFrag->MinimumPMaxRequest_isUsed = 0u; + exiFrag->FinePositioningReq_isUsed = 0u; + exiFrag->EnergyTransferServiceList_isUsed = 0u; + exiFrag->FinePositioningRes_isUsed = 0u; + exiFrag->AC_EVSEBidirectionalParameter_isUsed = 0u; + exiFrag->FreeService_isUsed = 0u; + exiFrag->EVMinimumVoltage_isUsed = 0u; + exiFrag->AC_EVSEChargeParameter_isUsed = 0u; + exiFrag->EVMaximumVoltage_isUsed = 0u; + exiFrag->EVMaximumVoltage_isUsed = 0u; + exiFrag->SensorID_isUsed = 0u; + exiFrag->SensorID_isUsed = 0u; + exiFrag->EVMaximumChargeCurrent_isUsed = 0u; + exiFrag->EVMaximumChargeCurrent_isUsed = 0u; + exiFrag->EVMaximumChargeCurrent_isUsed = 0u; + exiFrag->EVSECurrentRegulationTolerance_isUsed = 0u; + exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 0u; + exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 0u; + exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 0u; + exiFrag->ServiceID_isUsed = 0u; + exiFrag->ServiceID_isUsed = 0u; + exiFrag->ServiceID_isUsed = 0u; + exiFrag->EVEnergyTransferParameter_isUsed = 0u; + exiFrag->SignalPulseDuration_isUsed = 0u; + exiFrag->SignalPulseDuration_isUsed = 0u; + exiFrag->shortValue_isUsed = 0u; + exiFrag->EVSEMaximumDischargeCurrent_isUsed = 0u; + exiFrag->EVSEMaximumDischargeCurrent_isUsed = 0u; + exiFrag->Manifest_isUsed = 0u; + exiFrag->DC_EVSEChargeParameter_isUsed = 0u; + exiFrag->MeteringReceiptReq_isUsed = 0u; + exiFrag->MeterID_isUsed = 0u; + exiFrag->MeteringReceiptRes_isUsed = 0u; + exiFrag->ServiceDiscoveryReq_isUsed = 0u; + exiFrag->SalesTariffID_isUsed = 0u; + exiFrag->ServiceDiscoveryRes_isUsed = 0u; + exiFrag->X509CRL_isUsed = 0u; + exiFrag->MagneticVectorSetup_isUsed = 0u; + exiFrag->ErrorCode_isUsed = 0u; + exiFrag->ErrorCode_isUsed = 0u; + exiFrag->DigestMethod_isUsed = 0u; + exiFrag->SPKISexp_isUsed = 0u; + exiFrag->MeterReadingDischarged_isUsed = 0u; + exiFrag->SignatureProperties_isUsed = 0u; + exiFrag->SensorPosition_isUsed = 0u; + exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u; + exiFrag->eMAID_isUsed = 0u; + exiFrag->eMAID_isUsed = 0u; + exiFrag->eMAID_isUsed = 0u; + exiFrag->eMAID_isUsed = 0u; + exiFrag->SensorPackage_isUsed = 0u; + exiFrag->EVCheckOutStatus_isUsed = 0u; + exiFrag->EVMinimumEnergyRequest_isUsed = 0u; + exiFrag->X509Certificate_isUsed = 0u; + exiFrag->RootCertificateID_isUsed = 0u; + exiFrag->DC_BidirectionalControlReq_isUsed = 0u; + exiFrag->EVSEPresentVoltage_isUsed = 0u; + exiFrag->EVSEPresentVoltage_isUsed = 0u; + exiFrag->DC_BidirectionalControlRes_isUsed = 0u; + exiFrag->EVSEPresentVoltage_isUsed = 0u; + exiFrag->VASList_isUsed = 0u; + exiFrag->EVSEPresentVoltage_isUsed = 0u; + exiFrag->MeterInfo_isUsed = 0u; + exiFrag->MeterInfo_isUsed = 0u; + exiFrag->MeterInfo_isUsed = 0u; + exiFrag->MeterInfo_isUsed = 0u; + exiFrag->MeterInfo_isUsed = 0u; + exiFrag->MeterInfo_isUsed = 0u; + exiFrag->EVSETargetReactivePower_isUsed = 0u; + exiFrag->ChargingStatusReq_isUsed = 0u; + exiFrag->GenericParameters_isUsed = 0u; + exiFrag->GenericParameters_isUsed = 0u; + exiFrag->ChargingStatusRes_isUsed = 0u; + exiFrag->EVMaximumChargePower_isUsed = 0u; + exiFrag->EVMaximumChargePower_isUsed = 0u; + exiFrag->BulkSOC_isUsed = 0u; + exiFrag->BulkSOC_isUsed = 0u; + exiFrag->NumberOfSignalPackages_isUsed = 0u; + exiFrag->NumberOfSignalPackages_isUsed = 0u; + exiFrag->ParameterSetID_isUsed = 0u; + exiFrag->PMax_isUsed = 0u; + exiFrag->ParameterSetID_isUsed = 0u; + exiFrag->EVMaximumEnergyRequest_isUsed = 0u; + exiFrag->EVMaximumEnergyRequest_isUsed = 0u; + exiFrag->EVMaximumEnergyRequest_isUsed = 0u; + exiFrag->EVOperation_isUsed = 0u; + exiFrag->EVOperation_isUsed = 0u; + exiFrag->CertificateUpdateRes_isUsed = 0u; + exiFrag->ChargingComplete_isUsed = 0u; + exiFrag->ListOfRootCertificateIDs_isUsed = 0u; + exiFrag->ListOfRootCertificateIDs_isUsed = 0u; + exiFrag->RotationVAtoGA_isUsed = 0u; + exiFrag->EVTargetVoltage_isUsed = 0u; + exiFrag->EVTargetVoltage_isUsed = 0u; + exiFrag->EVTargetVoltage_isUsed = 0u; + exiFrag->CertificateUpdateReq_isUsed = 0u; + exiFrag->ConnectChargingDeviceRes_isUsed = 0u; + exiFrag->DHpublickey_isUsed = 0u; + exiFrag->DHpublickey_isUsed = 0u; + exiFrag->ServiceParameterList_isUsed = 0u; + exiFrag->SignatureValue_isUsed = 0u; + exiFrag->physicalValue_isUsed = 0u; + exiFrag->Exponent_isUsed = 0u; + exiFrag->OperationMode_isUsed = 0u; + exiFrag->OperationMode_isUsed = 0u; + exiFrag->EVSECurrentLimitAchieved_isUsed = 0u; + exiFrag->EVSECurrentLimitAchieved_isUsed = 0u; + exiFrag->ServiceDetailReq_isUsed = 0u; + exiFrag->ServiceDetailRes_isUsed = 0u; + exiFrag->EVSEMaximumVoltage_isUsed = 0u; + exiFrag->intValue_isUsed = 0u; + exiFrag->EVMaximumDischargePower_isUsed = 0u; + exiFrag->EVMaximumDischargePower_isUsed = 0u; + exiFrag->MinimumSOC_isUsed = 0u; + exiFrag->MinimumSOC_isUsed = 0u; + exiFrag->SelectedPaymentOption_isUsed = 0u; + exiFrag->V2G_Message_isUsed = 0u; + exiFrag->EVSEID_isUsed = 0u; + exiFrag->EVSEID_isUsed = 0u; + exiFrag->EVSEID_isUsed = 0u; + exiFrag->EVSEID_isUsed = 0u; + exiFrag->EVSEID_isUsed = 0u; + exiFrag->EVSEID_isUsed = 0u; + exiFrag->TMeter_isUsed = 0u; + exiFrag->SensorOrder_isUsed = 0u; + exiFrag->SensorOrder_isUsed = 0u; + exiFrag->SupportedServiceIDs_isUsed = 0u; + exiFrag->GenChallenge_isUsed = 0u; + exiFrag->GenChallenge_isUsed = 0u; + exiFrag->EVFinePositioningParameters_isUsed = 0u; + exiFrag->SensorList_isUsed = 0u; + exiFrag->SensorList_isUsed = 0u; + exiFrag->KeyInfo_isUsed = 0u; + exiFrag->ConnectChargingDeviceReq_isUsed = 0u; + exiFrag->AC_EVChargeParameter_isUsed = 0u; + exiFrag->Parameter_isUsed = 0u; + exiFrag->WeldingDetectionRes_isUsed = 0u; + exiFrag->GAID_isUsed = 0u; + exiFrag->GAID_isUsed = 0u; + exiFrag->SignalFrequency_isUsed = 0u; + exiFrag->EVSETargetPower_isUsed = 0u; + exiFrag->DC_EVBidirectionalParameter_isUsed = 0u; + exiFrag->EVSETargetPower_isUsed = 0u; + exiFrag->SignatureMethod_isUsed = 0u; + exiFrag->WeldingDetectionReq_isUsed = 0u; + exiFrag->SelectedService_isUsed = 0u; + exiFrag->EVSEErrorInformation_isUsed = 0u; + exiFrag->EVInputPower_isUsed = 0u; + exiFrag->VehicleCheckOutReq_isUsed = 0u; + exiFrag->EVMaximumDischargePower_isUsed = 0u; + exiFrag->EVMaximumDischargePower_isUsed = 0u; + exiFrag->PowerDemandReq_isUsed = 0u; + exiFrag->VehicleCheckOutRes_isUsed = 0u; + exiFrag->CurrentRange_isUsed = 0u; + exiFrag->EVPresentReactivePower_isUsed = 0u; + exiFrag->X509IssuerName_isUsed = 0u; + exiFrag->V2GRequest_isUsed = 0u; + exiFrag->Reference_isUsed = 0u; + exiFrag->BodyElement_isUsed = 0u; + exiFrag->MinimumPMaxScheduleEntry_isUsed = 0u; + exiFrag->EVFinePositioningSetupParameters_isUsed = 0u; + exiFrag->EVSENotification_isUsed = 0u; + exiFrag->PaymentServiceSelectionReq_isUsed = 0u; + exiFrag->EVMaximumChargePower_isUsed = 0u; + exiFrag->EVMaximumChargePower_isUsed = 0u; + exiFrag->EVMaximumChargePower_isUsed = 0u; + exiFrag->PaymentServiceSelectionRes_isUsed = 0u; + exiFrag->Transform_isUsed = 0u; + exiFrag->EVMaximumEnergyRequest_isUsed = 0u; + exiFrag->Object_isUsed = 0u; + exiFrag->TargetOffsetY_isUsed = 0u; + exiFrag->PowerDemandRes_isUsed = 0u; + exiFrag->TargetOffsetX_isUsed = 0u; } #endif /* DEPLOY_ISO_CODEC_FRAGMENT */ -void init_v2gEVSEChargeParameterType(struct v2gEVSEChargeParameterType* v2gEVSEChargeParameterType) { +void init_v2gSignatureValueType(struct v2gSignatureValueType* v2gSignatureValueType) { + v2gSignatureValueType->Id_isUsed = 0u; } -void init_v2gDC_EVPowerDeliveryParameterType(struct v2gDC_EVPowerDeliveryParameterType* v2gDC_EVPowerDeliveryParameterType) { - v2gDC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u; +void init_v2gEVSEFinePositioningSetupParametersType(struct v2gEVSEFinePositioningSetupParametersType* v2gEVSEFinePositioningSetupParametersType) { + (void)v2gEVSEFinePositioningSetupParametersType; /* avoid unused warning */ } -void init_v2gCurrentDemandResType(struct v2gCurrentDemandResType* v2gCurrentDemandResType) { - v2gCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u; - v2gCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u; - v2gCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u; - v2gCurrentDemandResType->MeterInfo_isUsed = 0u; - v2gCurrentDemandResType->ReceiptRequired_isUsed = 0u; -} - -void init_v2gAC_EVSEStatusType(struct v2gAC_EVSEStatusType* v2gAC_EVSEStatusType) { -} - -void init_v2gPreChargeResType(struct v2gPreChargeResType* v2gPreChargeResType) { +void init_v2gAlignmentCheckResType(struct v2gAlignmentCheckResType* v2gAlignmentCheckResType) { + v2gAlignmentCheckResType->EVSEStatus_isUsed = 0u; + v2gAlignmentCheckResType->AlignmentCheckParameters_isUsed = 0u; } void init_v2gSalesTariffType(struct v2gSalesTariffType* v2gSalesTariffType) { - v2gSalesTariffType->Id_isUsed = 0u; v2gSalesTariffType->SalesTariffDescription_isUsed = 0u; v2gSalesTariffType->NumEPriceLevels_isUsed = 0u; v2gSalesTariffType->SalesTariffEntry.arrayLen = 0u; } -void init_v2gSignaturePropertyType(struct v2gSignaturePropertyType* v2gSignaturePropertyType) { - v2gSignaturePropertyType->Id_isUsed = 0u; +void init_v2gFinePositioningSetupReqType(struct v2gFinePositioningSetupReqType* v2gFinePositioningSetupReqType) { + v2gFinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed = 0u; + v2gFinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed = 0u; } -void init_v2gPaymentServiceSelectionReqType(struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType) { +void init_v2gSubCertificatesType(struct v2gSubCertificatesType* v2gSubCertificatesType) { + v2gSubCertificatesType->Certificate.arrayLen = 0u; } -void init_v2gSPKIDataType(struct v2gSPKIDataType* v2gSPKIDataType) { - v2gSPKIDataType->SPKISexp.arrayLen = 0u; +void init_v2gCertificateInstallationResType(struct v2gCertificateInstallationResType* v2gCertificateInstallationResType) { + v2gCertificateInstallationResType->EVSEStatus_isUsed = 0u; } -void init_v2gNotificationType(struct v2gNotificationType* v2gNotificationType) { - v2gNotificationType->FaultMsg_isUsed = 0u; +void init_v2gMeterInfoType(struct v2gMeterInfoType* v2gMeterInfoType) { + v2gMeterInfoType->MeterReadingCharged_isUsed = 0u; + v2gMeterInfoType->MeterReadingDischarged_isUsed = 0u; + v2gMeterInfoType->SigMeterReading_isUsed = 0u; + v2gMeterInfoType->MeterStatus_isUsed = 0u; + v2gMeterInfoType->TMeter_isUsed = 0u; } -void init_v2gObjectType(struct v2gObjectType* v2gObjectType) { - v2gObjectType->Id_isUsed = 0u; - v2gObjectType->MimeType_isUsed = 0u; - v2gObjectType->Encoding_isUsed = 0u; +void init_v2gChargeLoopReqType(struct v2gChargeLoopReqType* v2gChargeLoopReqType) { + v2gChargeLoopReqType->EVMaximumEnergyRequest_isUsed = 0u; + v2gChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 0u; + v2gChargeLoopReqType->DisplayParameters_isUsed = 0u; +} + +void init_v2gMessageHeaderType(struct v2gMessageHeaderType* v2gMessageHeaderType) { + v2gMessageHeaderType->Signature_isUsed = 0u; +} + +void init_v2gSignatureType(struct v2gSignatureType* v2gSignatureType) { + v2gSignatureType->Id_isUsed = 0u; + v2gSignatureType->KeyInfo_isUsed = 0u; + v2gSignatureType->Object.arrayLen = 0u; +} + +void init_v2gBodyType(struct v2gBodyType* v2gBodyType) { + v2gBodyType->BodyElement_isUsed = 0u; + v2gBodyType->V2GRequest_isUsed = 0u; + v2gBodyType->DisconnectChargingDeviceReq_isUsed = 0u; + v2gBodyType->ConnectChargingDeviceReq_isUsed = 0u; + v2gBodyType->SystemStatusReq_isUsed = 0u; + v2gBodyType->DC_BidirectionalControlReq_isUsed = 0u; + v2gBodyType->AC_BidirectionalControlReq_isUsed = 0u; + v2gBodyType->VehicleCheckOutReq_isUsed = 0u; + v2gBodyType->VehicleCheckInReq_isUsed = 0u; + v2gBodyType->PowerDemandReq_isUsed = 0u; + v2gBodyType->PairingReq_isUsed = 0u; + v2gBodyType->AlignmentCheckReq_isUsed = 0u; + v2gBodyType->FinePositioningReq_isUsed = 0u; + v2gBodyType->FinePositioningSetupReq_isUsed = 0u; + v2gBodyType->WeldingDetectionReq_isUsed = 0u; + v2gBodyType->CurrentDemandReq_isUsed = 0u; + v2gBodyType->PreChargeReq_isUsed = 0u; + v2gBodyType->CableCheckReq_isUsed = 0u; + v2gBodyType->ChargingStatusReq_isUsed = 0u; + v2gBodyType->CertificateInstallationReq_isUsed = 0u; + v2gBodyType->CertificateUpdateReq_isUsed = 0u; + v2gBodyType->SessionStopReq_isUsed = 0u; + v2gBodyType->MeteringReceiptReq_isUsed = 0u; + v2gBodyType->PowerDeliveryReq_isUsed = 0u; + v2gBodyType->ChargeParameterDiscoveryReq_isUsed = 0u; + v2gBodyType->AuthorizationReq_isUsed = 0u; + v2gBodyType->PaymentDetailsReq_isUsed = 0u; + v2gBodyType->PaymentServiceSelectionReq_isUsed = 0u; + v2gBodyType->ServiceDetailReq_isUsed = 0u; + v2gBodyType->ServiceDiscoveryReq_isUsed = 0u; + v2gBodyType->SessionSetupReq_isUsed = 0u; + v2gBodyType->V2GResponse_isUsed = 0u; + v2gBodyType->DisconnectChargingDeviceRes_isUsed = 0u; + v2gBodyType->ConnectChargingDeviceRes_isUsed = 0u; + v2gBodyType->SystemStatusRes_isUsed = 0u; + v2gBodyType->DC_BidirectionalControlRes_isUsed = 0u; + v2gBodyType->AC_BidirectionalControlRes_isUsed = 0u; + v2gBodyType->VehicleCheckOutRes_isUsed = 0u; + v2gBodyType->VehicleCheckInRes_isUsed = 0u; + v2gBodyType->PowerDemandRes_isUsed = 0u; + v2gBodyType->PairingRes_isUsed = 0u; + v2gBodyType->AlignmentCheckRes_isUsed = 0u; + v2gBodyType->FinePositioningRes_isUsed = 0u; + v2gBodyType->FinePositioningSetupRes_isUsed = 0u; + v2gBodyType->WeldingDetectionRes_isUsed = 0u; + v2gBodyType->CurrentDemandRes_isUsed = 0u; + v2gBodyType->PreChargeRes_isUsed = 0u; + v2gBodyType->CableCheckRes_isUsed = 0u; + v2gBodyType->ChargingStatusRes_isUsed = 0u; + v2gBodyType->CertificateInstallationRes_isUsed = 0u; + v2gBodyType->CertificateUpdateRes_isUsed = 0u; + v2gBodyType->SessionStopRes_isUsed = 0u; + v2gBodyType->MeteringReceiptRes_isUsed = 0u; + v2gBodyType->PowerDeliveryRes_isUsed = 0u; + v2gBodyType->ChargeParameterDiscoveryRes_isUsed = 0u; + v2gBodyType->AuthorizationRes_isUsed = 0u; + v2gBodyType->PaymentDetailsRes_isUsed = 0u; + v2gBodyType->PaymentServiceSelectionRes_isUsed = 0u; + v2gBodyType->ServiceDetailRes_isUsed = 0u; + v2gBodyType->ServiceDiscoveryRes_isUsed = 0u; + v2gBodyType->SessionSetupRes_isUsed = 0u; + v2gBodyType->ErrorInformation_isUsed = 0u; + v2gBodyType->EVSEErrorInformation_isUsed = 0u; + v2gBodyType->EVErrorInformation_isUsed = 0u; +} + +void init_v2gFinePositioningReqType(struct v2gFinePositioningReqType* v2gFinePositioningReqType) { + v2gFinePositioningReqType->EVFinePositioningParameters_isUsed = 0u; + v2gFinePositioningReqType->Generic_EVFinePositioningParameters_isUsed = 0u; + v2gFinePositioningReqType->LFA_EVFinePositioningParameters_isUsed = 0u; +} + +void init_v2gPMaxScheduleEntryType(struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType) { + v2gPMaxScheduleEntryType->PMax.arrayLen = 0u; +} + +void init_v2gPreChargeReqType(struct v2gPreChargeReqType* v2gPreChargeReqType) { + (void)v2gPreChargeReqType; /* avoid unused warning */ +} + +void init_v2gVehicleCheckInResType(struct v2gVehicleCheckInResType* v2gVehicleCheckInResType) { + v2gVehicleCheckInResType->EVSEStatus_isUsed = 0u; + v2gVehicleCheckInResType->TargetOffset_isUsed = 0u; +} + +void init_v2gV2GRequestType(struct v2gV2GRequestType* v2gV2GRequestType) { + (void)v2gV2GRequestType; /* avoid unused warning */ +} + +void init_v2gLF_EVSEFinePositioningParametersType(struct v2gLF_EVSEFinePositioningParametersType* v2gLF_EVSEFinePositioningParametersType) { + (void)v2gLF_EVSEFinePositioningParametersType; /* avoid unused warning */ +} + +void init_v2gSignaturePropertiesType(struct v2gSignaturePropertiesType* v2gSignaturePropertiesType) { + v2gSignaturePropertiesType->Id_isUsed = 0u; + v2gSignaturePropertiesType->SignatureProperty.arrayLen = 0u; +} + +void init_v2gMagneticVectorSetupListType(struct v2gMagneticVectorSetupListType* v2gMagneticVectorSetupListType) { + v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen = 0u; +} + +void init_v2gSensorMeasurementsType(struct v2gSensorMeasurementsType* v2gSensorMeasurementsType) { + v2gSensorMeasurementsType->MeasurementData.arrayLen = 0u; +} + +void init_v2gAC_EVSEBidirectionalParameterType(struct v2gAC_EVSEBidirectionalParameterType* v2gAC_EVSEBidirectionalParameterType) { + (void)v2gAC_EVSEBidirectionalParameterType; /* avoid unused warning */ +} + +void init_v2gConsumptionCostType(struct v2gConsumptionCostType* v2gConsumptionCostType) { + v2gConsumptionCostType->Cost.arrayLen = 0u; +} + +void init_v2gAuthorizationResType(struct v2gAuthorizationResType* v2gAuthorizationResType) { + v2gAuthorizationResType->EVSEStatus_isUsed = 0u; +} + +void init_v2gGeneric_EVFinePositioningParametersType(struct v2gGeneric_EVFinePositioningParametersType* v2gGeneric_EVFinePositioningParametersType) { + (void)v2gGeneric_EVFinePositioningParametersType; /* avoid unused warning */ +} + +void init_v2gEVSEStatusType(struct v2gEVSEStatusType* v2gEVSEStatusType) { + (void)v2gEVSEStatusType; /* avoid unused warning */ +} + +void init_v2gX509IssuerSerialType(struct v2gX509IssuerSerialType* v2gX509IssuerSerialType) { + (void)v2gX509IssuerSerialType; /* avoid unused warning */ +} + +void init_v2gAC_EVBidirectionalParameterType(struct v2gAC_EVBidirectionalParameterType* v2gAC_EVBidirectionalParameterType) { + v2gAC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u; + v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u; + v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u; +} + +void init_v2gEVFinePositioningSetupParametersType(struct v2gEVFinePositioningSetupParametersType* v2gEVFinePositioningSetupParametersType) { + (void)v2gEVFinePositioningSetupParametersType; /* avoid unused warning */ +} + +void init_v2gMV_EVSEFinePositioningSetupParametersType(struct v2gMV_EVSEFinePositioningSetupParametersType* v2gMV_EVSEFinePositioningSetupParametersType) { + v2gMV_EVSEFinePositioningSetupParametersType->FrequencyChannel_isUsed = 0u; + v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 0u; +} + +void init_v2gMeteringReceiptReqType(struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType) { + v2gMeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u; +} + +void init_v2gAuthorizationReqType(struct v2gAuthorizationReqType* v2gAuthorizationReqType) { + v2gAuthorizationReqType->Id_isUsed = 0u; + v2gAuthorizationReqType->GenChallenge_isUsed = 0u; +} + +void init_v2gChargingStatusReqType(struct v2gChargingStatusReqType* v2gChargingStatusReqType) { + v2gChargingStatusReqType->EVMaximumEnergyRequest_isUsed = 0u; + v2gChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 0u; + v2gChargingStatusReqType->DisplayParameters_isUsed = 0u; + v2gChargingStatusReqType->EVMaximumChargePower_isUsed = 0u; + v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 0u; + v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 0u; } void init_v2gManifestType(struct v2gManifestType* v2gManifestType) { @@ -483,226 +862,201 @@ void init_v2gManifestType(struct v2gManifestType* v2gManifestType) { v2gManifestType->Reference.arrayLen = 0u; } -void init_v2gParameterSetType(struct v2gParameterSetType* v2gParameterSetType) { - v2gParameterSetType->Parameter.arrayLen = 0u; +void init_v2gSensorType(struct v2gSensorType* v2gSensorType) { + (void)v2gSensorType; /* avoid unused warning */ } -void init_v2gPaymentServiceSelectionResType(struct v2gPaymentServiceSelectionResType* v2gPaymentServiceSelectionResType) { +void init_v2gAC_EVChargeParameterType(struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType) { + v2gAC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u; + v2gAC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u; + v2gAC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u; } -void init_v2gRelativeTimeIntervalType(struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType) { - v2gRelativeTimeIntervalType->duration_isUsed = 0u; +void init_v2gMagneticVectorListType(struct v2gMagneticVectorListType* v2gMagneticVectorListType) { + v2gMagneticVectorListType->MagneticVector.arrayLen = 0u; } -void init_v2gContractSignatureEncryptedPrivateKeyType(struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType) { +void init_v2gAlignmentCheckReqType(struct v2gAlignmentCheckReqType* v2gAlignmentCheckReqType) { + v2gAlignmentCheckReqType->AlignmentCheckParameters_isUsed = 0u; } -void init_v2gSubCertificatesType(struct v2gSubCertificatesType* v2gSubCertificatesType) { - v2gSubCertificatesType->Certificate.arrayLen = 0u; +void init_v2gEVSEErrorInformationType(struct v2gEVSEErrorInformationType* v2gEVSEErrorInformationType) { + (void)v2gEVSEErrorInformationType; /* avoid unused warning */ } -void init_v2gPaymentOptionListType(struct v2gPaymentOptionListType* v2gPaymentOptionListType) { - v2gPaymentOptionListType->PaymentOption.arrayLen = 0u; +void init_v2gWPT_EVSEChargeParameterType(struct v2gWPT_EVSEChargeParameterType* v2gWPT_EVSEChargeParameterType) { + (void)v2gWPT_EVSEChargeParameterType; /* avoid unused warning */ } -void init_v2gSalesTariffEntryType(struct v2gSalesTariffEntryType* v2gSalesTariffEntryType) { - v2gSalesTariffEntryType->TimeInterval_isUsed = 0u; - v2gSalesTariffEntryType->RelativeTimeInterval_isUsed = 0u; - v2gSalesTariffEntryType->EPriceLevel_isUsed = 0u; - v2gSalesTariffEntryType->ConsumptionCost.arrayLen = 0u; +void init_v2gDisplayParametersType(struct v2gDisplayParametersType* v2gDisplayParametersType) { + v2gDisplayParametersType->CurrentRange_isUsed = 0u; + v2gDisplayParametersType->CurrentSOC_isUsed = 0u; + v2gDisplayParametersType->TargetSOC_isUsed = 0u; + v2gDisplayParametersType->BulkSOC_isUsed = 0u; + v2gDisplayParametersType->MinimumSOC_isUsed = 0u; + v2gDisplayParametersType->ChargingPerformance_isUsed = 0u; + v2gDisplayParametersType->RemainingTimeToTargetSOC_isUsed = 0u; + v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed = 0u; + v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 0u; + v2gDisplayParametersType->ChargingComplete_isUsed = 0u; + v2gDisplayParametersType->BulkChargingComplete_isUsed = 0u; + v2gDisplayParametersType->InletHot_isUsed = 0u; } -void init_v2gSupportedEnergyTransferModeType(struct v2gSupportedEnergyTransferModeType* v2gSupportedEnergyTransferModeType) { - v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen = 0u; +void init_v2gSignatureMethodType(struct v2gSignatureMethodType* v2gSignatureMethodType) { + v2gSignatureMethodType->HMACOutputLength_isUsed = 0u; + v2gSignatureMethodType->ANY_isUsed = 0u; } -void init_v2gSelectedServiceType(struct v2gSelectedServiceType* v2gSelectedServiceType) { - v2gSelectedServiceType->ParameterSetID_isUsed = 0u; +void init_v2gTargetPositionType(struct v2gTargetPositionType* v2gTargetPositionType) { + (void)v2gTargetPositionType; /* avoid unused warning */ } -void init_v2gWeldingDetectionResType(struct v2gWeldingDetectionResType* v2gWeldingDetectionResType) { +void init_v2gEVFinePositioningParametersType(struct v2gEVFinePositioningParametersType* v2gEVFinePositioningParametersType) { + (void)v2gEVFinePositioningParametersType; /* avoid unused warning */ } -void init_v2gPowerDeliveryReqType(struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType) { - v2gPowerDeliveryReqType->ChargingProfile_isUsed = 0u; - v2gPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u; - v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u; +void init_v2gVehicleCheckOutReqType(struct v2gVehicleCheckOutReqType* v2gVehicleCheckOutReqType) { + (void)v2gVehicleCheckOutReqType; /* avoid unused warning */ } -void init_v2gConsumptionCostType(struct v2gConsumptionCostType* v2gConsumptionCostType) { - v2gConsumptionCostType->Cost.arrayLen = 0u; +void init_v2gFinePositioningSetupResType(struct v2gFinePositioningSetupResType* v2gFinePositioningSetupResType) { + v2gFinePositioningSetupResType->EVSEStatus_isUsed = 0u; + v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 0u; + v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 0u; + v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 0u; } -void init_v2gDC_EVChargeParameterType(struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType) { - v2gDC_EVChargeParameterType->DepartureTime_isUsed = 0u; - v2gDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 0u; - v2gDC_EVChargeParameterType->EVEnergyCapacity_isUsed = 0u; - v2gDC_EVChargeParameterType->EVEnergyRequest_isUsed = 0u; - v2gDC_EVChargeParameterType->FullSOC_isUsed = 0u; - v2gDC_EVChargeParameterType->BulkSOC_isUsed = 0u; +void init_v2gSAScheduleListType(struct v2gSAScheduleListType* v2gSAScheduleListType) { + v2gSAScheduleListType->SAScheduleTuple.arrayLen = 0u; } -void init_v2gChargingProfileType(struct v2gChargingProfileType* v2gChargingProfileType) { - v2gChargingProfileType->ProfileEntry.arrayLen = 0u; +void init_v2gSystemStatusReqType(struct v2gSystemStatusReqType* v2gSystemStatusReqType) { + (void)v2gSystemStatusReqType; /* avoid unused warning */ } -void init_v2gMeteringReceiptReqType(struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType) { - v2gMeteringReceiptReqType->Id_isUsed = 0u; - v2gMeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u; +void init_v2gCertificateChainType(struct v2gCertificateChainType* v2gCertificateChainType) { + v2gCertificateChainType->Id_isUsed = 0u; + v2gCertificateChainType->SubCertificates_isUsed = 0u; } -void init_v2gChargeParameterDiscoveryReqType(struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType) { - v2gChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple_isUsed = 0u; - v2gChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u; - v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u; - v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u; +void init_v2gCostType(struct v2gCostType* v2gCostType) { + (void)v2gCostType; /* avoid unused warning */ } -void init_v2gBodyType(struct v2gBodyType* v2gBodyType) { - v2gBodyType->BodyElement_isUsed = 0u; - v2gBodyType->SessionSetupReq_isUsed = 0u; - v2gBodyType->SessionSetupRes_isUsed = 0u; - v2gBodyType->ServiceDiscoveryReq_isUsed = 0u; - v2gBodyType->ServiceDiscoveryRes_isUsed = 0u; - v2gBodyType->ServiceDetailReq_isUsed = 0u; - v2gBodyType->ServiceDetailRes_isUsed = 0u; - v2gBodyType->PaymentServiceSelectionReq_isUsed = 0u; - v2gBodyType->PaymentServiceSelectionRes_isUsed = 0u; - v2gBodyType->PaymentDetailsReq_isUsed = 0u; - v2gBodyType->PaymentDetailsRes_isUsed = 0u; - v2gBodyType->AuthorizationReq_isUsed = 0u; - v2gBodyType->AuthorizationRes_isUsed = 0u; - v2gBodyType->ChargeParameterDiscoveryReq_isUsed = 0u; - v2gBodyType->ChargeParameterDiscoveryRes_isUsed = 0u; - v2gBodyType->PowerDeliveryReq_isUsed = 0u; - v2gBodyType->PowerDeliveryRes_isUsed = 0u; - v2gBodyType->MeteringReceiptReq_isUsed = 0u; - v2gBodyType->MeteringReceiptRes_isUsed = 0u; - v2gBodyType->SessionStopReq_isUsed = 0u; - v2gBodyType->SessionStopRes_isUsed = 0u; - v2gBodyType->CertificateUpdateReq_isUsed = 0u; - v2gBodyType->CertificateUpdateRes_isUsed = 0u; - v2gBodyType->CertificateInstallationReq_isUsed = 0u; - v2gBodyType->CertificateInstallationRes_isUsed = 0u; - v2gBodyType->ChargingStatusReq_isUsed = 0u; - v2gBodyType->ChargingStatusRes_isUsed = 0u; - v2gBodyType->CableCheckReq_isUsed = 0u; - v2gBodyType->CableCheckRes_isUsed = 0u; - v2gBodyType->PreChargeReq_isUsed = 0u; - v2gBodyType->PreChargeRes_isUsed = 0u; - v2gBodyType->CurrentDemandReq_isUsed = 0u; - v2gBodyType->CurrentDemandRes_isUsed = 0u; - v2gBodyType->WeldingDetectionReq_isUsed = 0u; - v2gBodyType->WeldingDetectionRes_isUsed = 0u; -} - -void init_v2gTransformsType(struct v2gTransformsType* v2gTransformsType) { - v2gTransformsType->Transform.arrayLen = 0u; -} - -void init_v2gServiceDiscoveryReqType(struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType) { - v2gServiceDiscoveryReqType->ServiceScope_isUsed = 0u; - v2gServiceDiscoveryReqType->ServiceCategory_isUsed = 0u; -} - -void init_v2gEVSEStatusType(struct v2gEVSEStatusType* v2gEVSEStatusType) { -} - -void init_v2gProfileEntryType(struct v2gProfileEntryType* v2gProfileEntryType) { - v2gProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u; -} - -void init_v2gKeyInfoType(struct v2gKeyInfoType* v2gKeyInfoType) { - v2gKeyInfoType->Id_isUsed = 0u; - v2gKeyInfoType->KeyName.arrayLen = 0u; - v2gKeyInfoType->KeyValue.arrayLen = 0u; - v2gKeyInfoType->RetrievalMethod.arrayLen = 0u; - v2gKeyInfoType->X509Data.arrayLen = 0u; - v2gKeyInfoType->PGPData.arrayLen = 0u; - v2gKeyInfoType->SPKIData.arrayLen = 0u; - v2gKeyInfoType->MgmtData.arrayLen = 0u; -} - -void init_v2gMessageHeaderType(struct v2gMessageHeaderType* v2gMessageHeaderType) { - v2gMessageHeaderType->Notification_isUsed = 0u; - v2gMessageHeaderType->Signature_isUsed = 0u; -} - -void init_v2gServiceDetailReqType(struct v2gServiceDetailReqType* v2gServiceDetailReqType) { -} - -void init_v2gAC_EVSEChargeParameterType(struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType) { -} - -void init_v2gCertificateUpdateReqType(struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType) { -} - -void init_v2gPhysicalValueType(struct v2gPhysicalValueType* v2gPhysicalValueType) { -} - -void init_v2gX509IssuerSerialType(struct v2gX509IssuerSerialType* v2gX509IssuerSerialType) { -} - -void init_v2gListOfRootCertificateIDsType(struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType) { - v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u; -} - -void init_v2gServiceDiscoveryResType(struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType) { - v2gServiceDiscoveryResType->ServiceList_isUsed = 0u; -} - -void init_v2gPaymentDetailsReqType(struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType) { -} - -void init_v2gPMaxScheduleEntryType(struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType) { - v2gPMaxScheduleEntryType->TimeInterval_isUsed = 0u; - v2gPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u; -} - -void init_v2gCertificateUpdateResType(struct v2gCertificateUpdateResType* v2gCertificateUpdateResType) { - v2gCertificateUpdateResType->RetryCounter_isUsed = 0u; -} - -void init_v2gCertificateInstallationResType(struct v2gCertificateInstallationResType* v2gCertificateInstallationResType) { -} - -void init_v2gCableCheckReqType(struct v2gCableCheckReqType* v2gCableCheckReqType) { -} - -void init_v2gPGPDataType(struct v2gPGPDataType* v2gPGPDataType) { - v2gPGPDataType->PGPKeyID_isUsed = 0u; - v2gPGPDataType->PGPKeyPacket_isUsed = 0u; +void init_v2gServiceType(struct v2gServiceType* v2gServiceType) { + (void)v2gServiceType; /* avoid unused warning */ } void init_v2gServiceParameterListType(struct v2gServiceParameterListType* v2gServiceParameterListType) { v2gServiceParameterListType->ParameterSet.arrayLen = 0u; } -void init_v2gSessionStopReqType(struct v2gSessionStopReqType* v2gSessionStopReqType) { +void init_v2gSignedInfoType(struct v2gSignedInfoType* v2gSignedInfoType) { + v2gSignedInfoType->Id_isUsed = 0u; + v2gSignedInfoType->Reference.arrayLen = 0u; } -void init_v2gSASchedulesType(struct v2gSASchedulesType* v2gSASchedulesType) { +void init_v2gEVErrorInformationType(struct v2gEVErrorInformationType* v2gEVErrorInformationType) { + (void)v2gEVErrorInformationType; /* avoid unused warning */ } -void init_v2gWeldingDetectionReqType(struct v2gWeldingDetectionReqType* v2gWeldingDetectionReqType) { +void init_v2gListOfRootCertificateIDsType(struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType) { + v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u; } -void init_v2gDiffieHellmanPublickeyType(struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType) { +void init_v2gSPKIDataType(struct v2gSPKIDataType* v2gSPKIDataType) { + v2gSPKIDataType->SPKISexp.arrayLen = 0u; + v2gSPKIDataType->ANY_isUsed = 0u; } -void init_v2gSessionSetupReqType(struct v2gSessionSetupReqType* v2gSessionSetupReqType) { +void init_v2gDC_BidirectionalControlReqType(struct v2gDC_BidirectionalControlReqType* v2gDC_BidirectionalControlReqType) { + v2gDC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u; + v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u; + v2gDC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u; + v2gDC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u; + v2gDC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 0u; + v2gDC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u; } -void init_v2gCurrentDemandReqType(struct v2gCurrentDemandReqType* v2gCurrentDemandReqType) { - v2gCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u; - v2gCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u; - v2gCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u; - v2gCurrentDemandReqType->BulkChargingComplete_isUsed = 0u; - v2gCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u; - v2gCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u; +void init_v2gPairingResType(struct v2gPairingResType* v2gPairingResType) { + v2gPairingResType->EVSEStatus_isUsed = 0u; + v2gPairingResType->PairingParameters_isUsed = 0u; } -void init_v2gDC_EVStatusType(struct v2gDC_EVStatusType* v2gDC_EVStatusType) { +void init_v2gCartesianCoordinatesType(struct v2gCartesianCoordinatesType* v2gCartesianCoordinatesType) { + (void)v2gCartesianCoordinatesType; /* avoid unused warning */ +} + +void init_v2gChargeParameterDiscoveryReqType(struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType) { + v2gChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed = 0u; + v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 0u; + v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u; + v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 0u; + v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u; + v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 0u; + v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 0u; + v2gChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed = 0u; +} + +void init_v2gChargeParameterDiscoveryResType(struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType) { + v2gChargeParameterDiscoveryResType->EVSEStatus_isUsed = 0u; + v2gChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u; + v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 0u; + v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u; + v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 0u; + v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u; + v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 0u; + v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 0u; +} + +void init_v2gRSAKeyValueType(struct v2gRSAKeyValueType* v2gRSAKeyValueType) { + (void)v2gRSAKeyValueType; /* avoid unused warning */ +} + +void init_v2gLFA_EVFinePositioningSetupParametersType(struct v2gLFA_EVFinePositioningSetupParametersType* v2gLFA_EVFinePositioningSetupParametersType) { + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen = 0u; +} + +void init_v2gSelectedServiceType(struct v2gSelectedServiceType* v2gSelectedServiceType) { + (void)v2gSelectedServiceType; /* avoid unused warning */ +} + +void init_v2gSignaturePropertyType(struct v2gSignaturePropertyType* v2gSignaturePropertyType) { + v2gSignaturePropertyType->Id_isUsed = 0u; + v2gSignaturePropertyType->ANY_isUsed = 0u; +} + +void init_v2gAC_BidirectionalControlResType(struct v2gAC_BidirectionalControlResType* v2gAC_BidirectionalControlResType) { + v2gAC_BidirectionalControlResType->EVSEStatus_isUsed = 0u; + v2gAC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u; + v2gAC_BidirectionalControlResType->MeterInfo_isUsed = 0u; + v2gAC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u; +} + +void init_v2gPGPDataType(struct v2gPGPDataType* v2gPGPDataType) { + v2gPGPDataType->PGPKeyID_isUsed = 0u; + v2gPGPDataType->PGPKeyPacket_isUsed = 0u; + v2gPGPDataType->ANY_isUsed = 0u; +} + +void init_v2gSystemStatusResType(struct v2gSystemStatusResType* v2gSystemStatusResType) { + v2gSystemStatusResType->EVSEStatus_isUsed = 0u; +} + +void init_v2gCertificateUpdateResType(struct v2gCertificateUpdateResType* v2gCertificateUpdateResType) { + v2gCertificateUpdateResType->EVSEStatus_isUsed = 0u; + v2gCertificateUpdateResType->RetryCounter_isUsed = 0u; +} + +void init_v2gParameterSetType(struct v2gParameterSetType* v2gParameterSetType) { + v2gParameterSetType->Parameter.arrayLen = 0u; +} + +void init_v2gSAScheduleTupleType(struct v2gSAScheduleTupleType* v2gSAScheduleTupleType) { + v2gSAScheduleTupleType->PMaxDischargeSchedule_isUsed = 0u; + v2gSAScheduleTupleType->SalesTariff_isUsed = 0u; + v2gSAScheduleTupleType->BuyBackTariff_isUsed = 0u; } void init_v2gDSAKeyValueType(struct v2gDSAKeyValueType* v2gDSAKeyValueType) { @@ -714,47 +1068,12 @@ void init_v2gDSAKeyValueType(struct v2gDSAKeyValueType* v2gDSAKeyValueType) { v2gDSAKeyValueType->PgenCounter_isUsed = 0u; } -void init_v2gChargingStatusResType(struct v2gChargingStatusResType* v2gChargingStatusResType) { - v2gChargingStatusResType->EVSEMaxCurrent_isUsed = 0u; - v2gChargingStatusResType->MeterInfo_isUsed = 0u; - v2gChargingStatusResType->ReceiptRequired_isUsed = 0u; +void init_v2gMagneticVectorType(struct v2gMagneticVectorType* v2gMagneticVectorType) { + (void)v2gMagneticVectorType; /* avoid unused warning */ } -void init_v2gReferenceType(struct v2gReferenceType* v2gReferenceType) { - v2gReferenceType->Id_isUsed = 0u; - v2gReferenceType->URI_isUsed = 0u; - v2gReferenceType->Type_isUsed = 0u; - v2gReferenceType->Transforms_isUsed = 0u; -} - -void init_v2gRSAKeyValueType(struct v2gRSAKeyValueType* v2gRSAKeyValueType) { -} - -void init_v2gAnonType_V2G_Message(struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message) { -} - -void init_v2gAC_EVChargeParameterType(struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType) { - v2gAC_EVChargeParameterType->DepartureTime_isUsed = 0u; -} - -void init_v2gSignatureMethodType(struct v2gSignatureMethodType* v2gSignatureMethodType) { - v2gSignatureMethodType->HMACOutputLength_isUsed = 0u; -} - -void init_v2gCertificateInstallationReqType(struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType) { -} - -void init_v2gCertificateChainType(struct v2gCertificateChainType* v2gCertificateChainType) { - v2gCertificateChainType->Id_isUsed = 0u; - v2gCertificateChainType->SubCertificates_isUsed = 0u; -} - -void init_v2gSessionSetupResType(struct v2gSessionSetupResType* v2gSessionSetupResType) { - v2gSessionSetupResType->EVSETimeStamp_isUsed = 0u; -} - -void init_v2gCostType(struct v2gCostType* v2gCostType) { - v2gCostType->amountMultiplier_isUsed = 0u; +void init_v2gServiceIDListType(struct v2gServiceIDListType* v2gServiceIDListType) { + v2gServiceIDListType->ServiceID.arrayLen = 0u; } void init_v2gX509DataType(struct v2gX509DataType* v2gX509DataType) { @@ -763,59 +1082,94 @@ void init_v2gX509DataType(struct v2gX509DataType* v2gX509DataType) { v2gX509DataType->X509SubjectName.arrayLen = 0u; v2gX509DataType->X509Certificate.arrayLen = 0u; v2gX509DataType->X509CRL.arrayLen = 0u; + v2gX509DataType->ANY_isUsed = 0u; } -void init_v2gEMAIDType(struct v2gEMAIDType* v2gEMAIDType) { +void init_v2gEVEnergyTransferParameterType(struct v2gEVEnergyTransferParameterType* v2gEVEnergyTransferParameterType) { + (void)v2gEVEnergyTransferParameterType; /* avoid unused warning */ } -void init_v2gMeterInfoType(struct v2gMeterInfoType* v2gMeterInfoType) { - v2gMeterInfoType->MeterReading_isUsed = 0u; - v2gMeterInfoType->SigMeterReading_isUsed = 0u; - v2gMeterInfoType->MeterStatus_isUsed = 0u; - v2gMeterInfoType->TMeter_isUsed = 0u; +void init_v2gPreChargeResType(struct v2gPreChargeResType* v2gPreChargeResType) { + v2gPreChargeResType->EVSEStatus_isUsed = 0u; } -void init_v2gAuthorizationResType(struct v2gAuthorizationResType* v2gAuthorizationResType) { +void init_v2gFinePositioningResType(struct v2gFinePositioningResType* v2gFinePositioningResType) { + v2gFinePositioningResType->EVSEStatus_isUsed = 0u; + v2gFinePositioningResType->EVSEFinePositioningParameters_isUsed = 0u; + v2gFinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed = 0u; + v2gFinePositioningResType->LF_EVSEFinePositioningParameters_isUsed = 0u; + v2gFinePositioningResType->MV_EVSEFinePositioningParameters_isUsed = 0u; } -void init_v2gEntryType(struct v2gEntryType* v2gEntryType) { - v2gEntryType->TimeInterval_isUsed = 0u; - v2gEntryType->RelativeTimeInterval_isUsed = 0u; +void init_v2gLFA_EVSEFinePositioningSetupParametersType(struct v2gLFA_EVSEFinePositioningSetupParametersType* v2gLFA_EVSEFinePositioningSetupParametersType) { + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen = 0u; } -void init_v2gServiceType(struct v2gServiceType* v2gServiceType) { - v2gServiceType->ServiceName_isUsed = 0u; - v2gServiceType->ServiceScope_isUsed = 0u; +void init_v2gMinimumPMaxRequestType(struct v2gMinimumPMaxRequestType* v2gMinimumPMaxRequestType) { + v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen = 0u; } -void init_v2gSelectedServiceListType(struct v2gSelectedServiceListType* v2gSelectedServiceListType) { - v2gSelectedServiceListType->SelectedService.arrayLen = 0u; +void init_v2gCanonicalizationMethodType(struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType) { + v2gCanonicalizationMethodType->ANY_isUsed = 0u; } -void init_v2gChargeServiceType(struct v2gChargeServiceType* v2gChargeServiceType) { - v2gChargeServiceType->ServiceName_isUsed = 0u; - v2gChargeServiceType->ServiceScope_isUsed = 0u; +void init_v2gCertificateInstallationReqType(struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType) { + (void)v2gCertificateInstallationReqType; /* avoid unused warning */ } -void init_v2gServiceDetailResType(struct v2gServiceDetailResType* v2gServiceDetailResType) { - v2gServiceDetailResType->ServiceParameterList_isUsed = 0u; +void init_v2gVehicleCheckInReqType(struct v2gVehicleCheckInReqType* v2gVehicleCheckInReqType) { + v2gVehicleCheckInReqType->ParkingMethod_isUsed = 0u; } -void init_v2gSignatureValueType(struct v2gSignatureValueType* v2gSignatureValueType) { - v2gSignatureValueType->Id_isUsed = 0u; +void init_v2gMV_EVSEFinePositioningParametersType(struct v2gMV_EVSEFinePositioningParametersType* v2gMV_EVSEFinePositioningParametersType) { + (void)v2gMV_EVSEFinePositioningParametersType; /* avoid unused warning */ } -void init_v2gSignaturePropertiesType(struct v2gSignaturePropertiesType* v2gSignaturePropertiesType) { - v2gSignaturePropertiesType->Id_isUsed = 0u; - v2gSignaturePropertiesType->SignatureProperty.arrayLen = 0u; +void init_v2gPowerDeliveryResType(struct v2gPowerDeliveryResType* v2gPowerDeliveryResType) { + v2gPowerDeliveryResType->EVSEStatus_isUsed = 0u; } -void init_v2gAuthorizationReqType(struct v2gAuthorizationReqType* v2gAuthorizationReqType) { - v2gAuthorizationReqType->Id_isUsed = 0u; - v2gAuthorizationReqType->GenChallenge_isUsed = 0u; +void init_v2gEVSEEnergyTransferParameterType(struct v2gEVSEEnergyTransferParameterType* v2gEVSEEnergyTransferParameterType) { + (void)v2gEVSEEnergyTransferParameterType; /* avoid unused warning */ } -void init_v2gEVStatusType(struct v2gEVStatusType* v2gEVStatusType) { +void init_v2gDiffieHellmanPublickeyType(struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType) { + (void)v2gDiffieHellmanPublickeyType; /* avoid unused warning */ +} + +void init_v2gV2GResponseType(struct v2gV2GResponseType* v2gV2GResponseType) { + v2gV2GResponseType->EVSEStatus_isUsed = 0u; +} + +void init_v2gCableCheckResType(struct v2gCableCheckResType* v2gCableCheckResType) { + v2gCableCheckResType->EVSEStatus_isUsed = 0u; +} + +void init_v2gSalesTariffEntryType(struct v2gSalesTariffEntryType* v2gSalesTariffEntryType) { + v2gSalesTariffEntryType->EPriceLevel_isUsed = 0u; + v2gSalesTariffEntryType->ConsumptionCost.arrayLen = 0u; +} + +void init_v2gChargingProfileType(struct v2gChargingProfileType* v2gChargingProfileType) { + v2gChargingProfileType->ProfileEntry.arrayLen = 0u; +} + +void init_v2gServiceDiscoveryResType(struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType) { + v2gServiceDiscoveryResType->EVSEStatus_isUsed = 0u; + v2gServiceDiscoveryResType->VASList_isUsed = 0u; +} + +void init_v2gPMaxScheduleType(struct v2gPMaxScheduleType* v2gPMaxScheduleType) { + v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u; +} + +void init_v2gSensorPackageType(struct v2gSensorPackageType* v2gSensorPackageType) { + v2gSensorPackageType->SensorMeasurements.arrayLen = 0u; +} + +void init_v2gDC_EVSEBidirectionalParameterType(struct v2gDC_EVSEBidirectionalParameterType* v2gDC_EVSEBidirectionalParameterType) { + v2gDC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed = 0u; + v2gDC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; } void init_v2gDC_EVSEChargeParameterType(struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType) { @@ -823,29 +1177,48 @@ void init_v2gDC_EVSEChargeParameterType(struct v2gDC_EVSEChargeParameterType* v2 v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; } -void init_v2gSAScheduleListType(struct v2gSAScheduleListType* v2gSAScheduleListType) { - v2gSAScheduleListType->SAScheduleTuple.arrayLen = 0u; +void init_v2gConnectChargingDeviceReqType(struct v2gConnectChargingDeviceReqType* v2gConnectChargingDeviceReqType) { + (void)v2gConnectChargingDeviceReqType; /* avoid unused warning */ } -void init_v2gDigestMethodType(struct v2gDigestMethodType* v2gDigestMethodType) { +void init_v2gCertificateUpdateReqType(struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType) { + (void)v2gCertificateUpdateReqType; /* avoid unused warning */ } -void init_v2gKeyValueType(struct v2gKeyValueType* v2gKeyValueType) { - v2gKeyValueType->DSAKeyValue_isUsed = 0u; - v2gKeyValueType->RSAKeyValue_isUsed = 0u; +void init_v2gKeyInfoType(struct v2gKeyInfoType* v2gKeyInfoType) { + v2gKeyInfoType->Id_isUsed = 0u; + v2gKeyInfoType->KeyName.arrayLen = 0u; + v2gKeyInfoType->KeyValue.arrayLen = 0u; + v2gKeyInfoType->RetrievalMethod.arrayLen = 0u; + v2gKeyInfoType->X509Data.arrayLen = 0u; + v2gKeyInfoType->PGPData.arrayLen = 0u; + v2gKeyInfoType->SPKIData.arrayLen = 0u; + v2gKeyInfoType->MgmtData.arrayLen = 0u; + v2gKeyInfoType->ANY_isUsed = 0u; } -void init_v2gEVPowerDeliveryParameterType(struct v2gEVPowerDeliveryParameterType* v2gEVPowerDeliveryParameterType) { +void init_v2gWeldingDetectionResType(struct v2gWeldingDetectionResType* v2gWeldingDetectionResType) { + v2gWeldingDetectionResType->EVSEStatus_isUsed = 0u; } -void init_v2gTransformType(struct v2gTransformType* v2gTransformType) { - v2gTransformType->XPath.arrayLen = 0u; +void init_v2gPhysicalValueType(struct v2gPhysicalValueType* v2gPhysicalValueType) { + (void)v2gPhysicalValueType; /* avoid unused warning */ } -void init_v2gBodyBaseType(struct v2gBodyBaseType* v2gBodyBaseType) { +void init_v2gPaymentServiceSelectionReqType(struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType) { + v2gPaymentServiceSelectionReqType->SelectedVASList_isUsed = 0u; } -void init_v2gSessionStopResType(struct v2gSessionStopResType* v2gSessionStopResType) { +void init_v2gSensorListType(struct v2gSensorListType* v2gSensorListType) { + v2gSensorListType->Sensor.arrayLen = 0u; +} + +void init_v2gPairingReqType(struct v2gPairingReqType* v2gPairingReqType) { + v2gPairingReqType->PairingParameters_isUsed = 0u; +} + +void init_v2gDisconnectChargingDeviceReqType(struct v2gDisconnectChargingDeviceReqType* v2gDisconnectChargingDeviceReqType) { + (void)v2gDisconnectChargingDeviceReqType; /* avoid unused warning */ } void init_v2gParameterType(struct v2gParameterType* v2gParameterType) { @@ -857,8 +1230,127 @@ void init_v2gParameterType(struct v2gParameterType* v2gParameterType) { v2gParameterType->stringValue_isUsed = 0u; } -void init_v2gServiceListType(struct v2gServiceListType* v2gServiceListType) { - v2gServiceListType->Service.arrayLen = 0u; +void init_v2gEVSEFinePositioningParametersType(struct v2gEVSEFinePositioningParametersType* v2gEVSEFinePositioningParametersType) { + (void)v2gEVSEFinePositioningParametersType; /* avoid unused warning */ +} + +void init_v2gAC_EVSEChargeParameterType(struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType) { + (void)v2gAC_EVSEChargeParameterType; /* avoid unused warning */ +} + +void init_v2gServiceDiscoveryReqType(struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType) { + v2gServiceDiscoveryReqType->SupportedServiceIDs_isUsed = 0u; +} + +void init_v2gConnectChargingDeviceResType(struct v2gConnectChargingDeviceResType* v2gConnectChargingDeviceResType) { + v2gConnectChargingDeviceResType->EVSEStatus_isUsed = 0u; +} + +void init_v2gPowerDemandReqType(struct v2gPowerDemandReqType* v2gPowerDemandReqType) { + v2gPowerDemandReqType->EVMaximumEnergyRequest_isUsed = 0u; + v2gPowerDemandReqType->EVMinimumEnergyRequest_isUsed = 0u; + v2gPowerDemandReqType->DisplayParameters_isUsed = 0u; + v2gPowerDemandReqType->PowerDemandParameters_isUsed = 0u; +} + +void init_v2gLFA_EVFinePositioningParametersType(struct v2gLFA_EVFinePositioningParametersType* v2gLFA_EVFinePositioningParametersType) { + (void)v2gLFA_EVFinePositioningParametersType; /* avoid unused warning */ +} + +void init_v2gTransformType(struct v2gTransformType* v2gTransformType) { + v2gTransformType->ANY_isUsed = 0u; + v2gTransformType->XPath.arrayLen = 0u; +} + +void init_v2gObjectType(struct v2gObjectType* v2gObjectType) { + v2gObjectType->Id_isUsed = 0u; + v2gObjectType->MimeType_isUsed = 0u; + v2gObjectType->Encoding_isUsed = 0u; + v2gObjectType->ANY_isUsed = 0u; +} + +void init_v2gPowerDeliveryReqType(struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType) { + v2gPowerDeliveryReqType->EVOperation_isUsed = 0u; + v2gPowerDeliveryReqType->SAScheduleTupleID_isUsed = 0u; + v2gPowerDeliveryReqType->ChargingProfile_isUsed = 0u; +} + +void init_v2gGeneric_EVSEFinePositioningParametersType(struct v2gGeneric_EVSEFinePositioningParametersType* v2gGeneric_EVSEFinePositioningParametersType) { + (void)v2gGeneric_EVSEFinePositioningParametersType; /* avoid unused warning */ +} + +void init_v2gSensorPackageListType(struct v2gSensorPackageListType* v2gSensorPackageListType) { + v2gSensorPackageListType->SensorPackage.arrayLen = 0u; +} + +void init_v2gPaymentDetailsResType(struct v2gPaymentDetailsResType* v2gPaymentDetailsResType) { + v2gPaymentDetailsResType->EVSEStatus_isUsed = 0u; +} + +void init_v2gAnonType_V2G_Message(struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message) { + (void)v2gAnonType_V2G_Message; /* avoid unused warning */ +} + +void init_v2gAC_BidirectionalControlReqType(struct v2gAC_BidirectionalControlReqType* v2gAC_BidirectionalControlReqType) { + v2gAC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 0u; + v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 0u; + v2gAC_BidirectionalControlReqType->DisplayParameters_isUsed = 0u; + v2gAC_BidirectionalControlReqType->EVOperation_isUsed = 0u; + v2gAC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 0u; + v2gAC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 0u; + v2gAC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed = 0u; +} + +void init_v2gBodyBaseType(struct v2gBodyBaseType* v2gBodyBaseType) { + (void)v2gBodyBaseType; /* avoid unused warning */ +} + +void init_v2gSessionStopReqType(struct v2gSessionStopReqType* v2gSessionStopReqType) { + (void)v2gSessionStopReqType; /* avoid unused warning */ +} + +void init_v2gEntryType(struct v2gEntryType* v2gEntryType) { + (void)v2gEntryType; /* avoid unused warning */ +} + +void init_v2gPowerDemandResType(struct v2gPowerDemandResType* v2gPowerDemandResType) { + v2gPowerDemandResType->EVSEStatus_isUsed = 0u; + v2gPowerDemandResType->SAScheduleTupleID_isUsed = 0u; + v2gPowerDemandResType->MeterInfo_isUsed = 0u; + v2gPowerDemandResType->ReceiptRequired_isUsed = 0u; + v2gPowerDemandResType->PowerDemandParameters_isUsed = 0u; +} + +void init_v2gSessionSetupResType(struct v2gSessionSetupResType* v2gSessionSetupResType) { + v2gSessionSetupResType->EVSEStatus_isUsed = 0u; + v2gSessionSetupResType->EVSETimeStamp_isUsed = 0u; +} + +void init_v2gVehicleCheckOutResType(struct v2gVehicleCheckOutResType* v2gVehicleCheckOutResType) { + v2gVehicleCheckOutResType->EVSEStatus_isUsed = 0u; +} + +void init_v2gKeyValueType(struct v2gKeyValueType* v2gKeyValueType) { + v2gKeyValueType->DSAKeyValue_isUsed = 0u; + v2gKeyValueType->RSAKeyValue_isUsed = 0u; + v2gKeyValueType->ANY_isUsed = 0u; +} + +void init_v2gEMAIDType(struct v2gEMAIDType* v2gEMAIDType) { + (void)v2gEMAIDType; /* avoid unused warning */ +} + +void init_v2gTransformsType(struct v2gTransformsType* v2gTransformsType) { + v2gTransformsType->Transform.arrayLen = 0u; +} + +void init_v2gCurrentDemandReqType(struct v2gCurrentDemandReqType* v2gCurrentDemandReqType) { + v2gCurrentDemandReqType->EVMaximumEnergyRequest_isUsed = 0u; + v2gCurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 0u; + v2gCurrentDemandReqType->DisplayParameters_isUsed = 0u; + v2gCurrentDemandReqType->EVMaximumCurrent_isUsed = 0u; + v2gCurrentDemandReqType->EVMaximumPower_isUsed = 0u; + v2gCurrentDemandReqType->EVMaximumVoltage_isUsed = 0u; } void init_v2gRetrievalMethodType(struct v2gRetrievalMethodType* v2gRetrievalMethodType) { @@ -867,69 +1359,122 @@ void init_v2gRetrievalMethodType(struct v2gRetrievalMethodType* v2gRetrievalMeth v2gRetrievalMethodType->Transforms_isUsed = 0u; } -void init_v2gEVChargeParameterType(struct v2gEVChargeParameterType* v2gEVChargeParameterType) { - v2gEVChargeParameterType->DepartureTime_isUsed = 0u; +void init_v2gServiceListType(struct v2gServiceListType* v2gServiceListType) { + v2gServiceListType->Service.arrayLen = 0u; } -void init_v2gCanonicalizationMethodType(struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType) { +void init_v2gDC_EVBidirectionalParameterType(struct v2gDC_EVBidirectionalParameterType* v2gDC_EVBidirectionalParameterType) { + v2gDC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->CurrentSOC_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->TargetSOC_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->BulkSOC_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 0u; + v2gDC_EVBidirectionalParameterType->MinimumSOC_isUsed = 0u; } -void init_v2gIntervalType(struct v2gIntervalType* v2gIntervalType) { +void init_v2gServiceDetailResType(struct v2gServiceDetailResType* v2gServiceDetailResType) { + v2gServiceDetailResType->EVSEStatus_isUsed = 0u; + v2gServiceDetailResType->ServiceParameterList_isUsed = 0u; } -void init_v2gPreChargeReqType(struct v2gPreChargeReqType* v2gPreChargeReqType) { +void init_v2gSelectedServiceListType(struct v2gSelectedServiceListType* v2gSelectedServiceListType) { + v2gSelectedServiceListType->SelectedService.arrayLen = 0u; } -void init_v2gDC_EVSEStatusType(struct v2gDC_EVSEStatusType* v2gDC_EVSEStatusType) { - v2gDC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u; +void init_v2gRelativeTimeIntervalType(struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType) { + v2gRelativeTimeIntervalType->duration_isUsed = 0u; } -void init_v2gSignatureType(struct v2gSignatureType* v2gSignatureType) { - v2gSignatureType->Id_isUsed = 0u; - v2gSignatureType->KeyInfo_isUsed = 0u; - v2gSignatureType->Object.arrayLen = 0u; +void init_v2gDisconnectChargingDeviceResType(struct v2gDisconnectChargingDeviceResType* v2gDisconnectChargingDeviceResType) { + v2gDisconnectChargingDeviceResType->EVSEStatus_isUsed = 0u; } -void init_v2gCableCheckResType(struct v2gCableCheckResType* v2gCableCheckResType) { +void init_v2gContractSignatureEncryptedPrivateKeyType(struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType) { + (void)v2gContractSignatureEncryptedPrivateKeyType; /* avoid unused warning */ } -void init_v2gPaymentDetailsResType(struct v2gPaymentDetailsResType* v2gPaymentDetailsResType) { +void init_v2gChargingStatusResType(struct v2gChargingStatusResType* v2gChargingStatusResType) { + v2gChargingStatusResType->EVSEStatus_isUsed = 0u; + v2gChargingStatusResType->SAScheduleTupleID_isUsed = 0u; + v2gChargingStatusResType->MeterInfo_isUsed = 0u; + v2gChargingStatusResType->ReceiptRequired_isUsed = 0u; + v2gChargingStatusResType->EVSETargetPower_isUsed = 0u; } -void init_v2gChargingStatusReqType(struct v2gChargingStatusReqType* v2gChargingStatusReqType) { +void init_v2gPaymentDetailsReqType(struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType) { + (void)v2gPaymentDetailsReqType; /* avoid unused warning */ } -void init_v2gPMaxScheduleType(struct v2gPMaxScheduleType* v2gPMaxScheduleType) { - v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u; +void init_v2gMagneticVectorSetupType(struct v2gMagneticVectorSetupType* v2gMagneticVectorSetupType) { + (void)v2gMagneticVectorSetupType; /* avoid unused warning */ } -void init_v2gChargeParameterDiscoveryResType(struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType) { - v2gChargeParameterDiscoveryResType->SASchedules_isUsed = 0u; - v2gChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u; - v2gChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u; - v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u; - v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u; +void init_v2gDC_EVChargeParameterType(struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType) { + v2gDC_EVChargeParameterType->EVMaximumChargePower_isUsed = 0u; + v2gDC_EVChargeParameterType->EVMinimumChargePower_isUsed = 0u; + v2gDC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u; + v2gDC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u; + v2gDC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u; + v2gDC_EVChargeParameterType->CurrentSOC_isUsed = 0u; + v2gDC_EVChargeParameterType->TargetSOC_isUsed = 0u; + v2gDC_EVChargeParameterType->BulkSOC_isUsed = 0u; } -void init_v2gPowerDeliveryResType(struct v2gPowerDeliveryResType* v2gPowerDeliveryResType) { - v2gPowerDeliveryResType->EVSEStatus_isUsed = 0u; - v2gPowerDeliveryResType->AC_EVSEStatus_isUsed = 0u; - v2gPowerDeliveryResType->DC_EVSEStatus_isUsed = 0u; +void init_v2gReferenceType(struct v2gReferenceType* v2gReferenceType) { + v2gReferenceType->Id_isUsed = 0u; + v2gReferenceType->URI_isUsed = 0u; + v2gReferenceType->Type_isUsed = 0u; + v2gReferenceType->Transforms_isUsed = 0u; } -void init_v2gSAScheduleTupleType(struct v2gSAScheduleTupleType* v2gSAScheduleTupleType) { - v2gSAScheduleTupleType->SalesTariff_isUsed = 0u; +void init_v2gServiceDetailReqType(struct v2gServiceDetailReqType* v2gServiceDetailReqType) { + (void)v2gServiceDetailReqType; /* avoid unused warning */ } -void init_v2gSignedInfoType(struct v2gSignedInfoType* v2gSignedInfoType) { - v2gSignedInfoType->Id_isUsed = 0u; - v2gSignedInfoType->Reference.arrayLen = 0u; +void init_v2gPaymentOptionListType(struct v2gPaymentOptionListType* v2gPaymentOptionListType) { + v2gPaymentOptionListType->PaymentOption.arrayLen = 0u; } -void init_v2gMeteringReceiptResType(struct v2gMeteringReceiptResType* v2gMeteringReceiptResType) { - v2gMeteringReceiptResType->EVSEStatus_isUsed = 0u; - v2gMeteringReceiptResType->AC_EVSEStatus_isUsed = 0u; - v2gMeteringReceiptResType->DC_EVSEStatus_isUsed = 0u; +void init_v2gCurrentDemandResType(struct v2gCurrentDemandResType* v2gCurrentDemandResType) { + v2gCurrentDemandResType->EVSEStatus_isUsed = 0u; + v2gCurrentDemandResType->EVSEMaximumPower_isUsed = 0u; + v2gCurrentDemandResType->EVSEMaximumCurrent_isUsed = 0u; + v2gCurrentDemandResType->EVSEMaximumVoltage_isUsed = 0u; + v2gCurrentDemandResType->SAScheduleTupleID_isUsed = 0u; + v2gCurrentDemandResType->MeterInfo_isUsed = 0u; + v2gCurrentDemandResType->ReceiptRequired_isUsed = 0u; +} + +void init_v2gDC_BidirectionalControlResType(struct v2gDC_BidirectionalControlResType* v2gDC_BidirectionalControlResType) { + v2gDC_BidirectionalControlResType->EVSEStatus_isUsed = 0u; + v2gDC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed = 0u; + v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 0u; + v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 0u; + v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 0u; + v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 0u; + v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 0u; + v2gDC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 0u; + v2gDC_BidirectionalControlResType->MeterInfo_isUsed = 0u; + v2gDC_BidirectionalControlResType->ReceiptRequired_isUsed = 0u; +} + +void init_v2gWPT_EVChargeParameterType(struct v2gWPT_EVChargeParameterType* v2gWPT_EVChargeParameterType) { + v2gWPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 0u; + v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 0u; + v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 0u; +} + +void init_v2gSessionSetupReqType(struct v2gSessionSetupReqType* v2gSessionSetupReqType) { + (void)v2gSessionSetupReqType; /* avoid unused warning */ +} + +void init_v2gDigestMethodType(struct v2gDigestMethodType* v2gDigestMethodType) { + v2gDigestMethodType->ANY_isUsed = 0u; } diff --git a/src/codec/v2gEXIDatatypes.h b/src/codec/v2gEXIDatatypes.h index f3f709c..2430408 100644 --- a/src/codec/v2gEXIDatatypes.h +++ b/src/codec/v2gEXIDatatypes.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -45,7 +45,7 @@ extern "C" { #define SUPPORT_YES 1 #define SUPPORT_NO 2 #define DEPLOY_ISO_CODEC SUPPORT_YES -#define DEPLOY_ISO_CODEC_FRAGMENT SUPPORT_NO +#define DEPLOY_ISO_CODEC_FRAGMENT SUPPORT_YES #if DEPLOY_ISO_CODEC == SUPPORT_YES @@ -60,124 +60,52 @@ extern "C" { #define UNION_NO 2 #define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct v2gEVSEChargeParameterType { - int noContent; /* avoid warning */ -}; - typedef enum { - v2gDC_EVErrorCodeType_NO_ERROR = 0, - v2gDC_EVErrorCodeType_FAILED_RESSTemperatureInhibit = 1, - v2gDC_EVErrorCodeType_FAILED_EVShiftPosition = 2, - v2gDC_EVErrorCodeType_FAILED_ChargerConnectorLockFault = 3, - v2gDC_EVErrorCodeType_FAILED_EVRESSMalfunction = 4, - v2gDC_EVErrorCodeType_FAILED_ChargingCurrentdifferential = 5, - v2gDC_EVErrorCodeType_FAILED_ChargingVoltageOutOfRange = 6, - v2gDC_EVErrorCodeType_Reserved_A = 7, - v2gDC_EVErrorCodeType_Reserved_B = 8, - v2gDC_EVErrorCodeType_Reserved_C = 9, - v2gDC_EVErrorCodeType_FAILED_ChargingSystemIncompatibility = 10, - v2gDC_EVErrorCodeType_NoData = 11 -} v2gDC_EVErrorCodeType; + v2gEVCheckOutStatusType_CheckOut = 0, + v2gEVCheckOutStatusType_Processing = 1, + v2gEVCheckOutStatusType_Completed = 2 +} v2gEVCheckOutStatusType; -/* 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'. */ -#define v2gSignaturePropertyType_Target_CHARACTERS_SIZE 50 -#define v2gSignaturePropertyType_Id_CHARACTERS_SIZE 50 -struct v2gSignaturePropertyType { - /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[v2gSignaturePropertyType_Target_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Target ; +/* 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'. */ +#define v2gSignatureValueType_Id_CHARACTERS_SIZE 50 +#define v2gSignatureValueType_CONTENT_BYTES_SIZE 350 +struct v2gSignatureValueType { /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ struct { - exi_string_character_t characters[v2gSignaturePropertyType_Id_CHARACTERS_SIZE]; + exi_string_character_t characters[v2gSignatureValueType_Id_CHARACTERS_SIZE]; uint16_t charactersLen; } Id ; unsigned int Id_isUsed:1; -}; - -typedef enum { - v2gserviceCategoryType_EVCharging = 0, - v2gserviceCategoryType_Internet = 1, - v2gserviceCategoryType_ContractCertificate = 2, - v2gserviceCategoryType_OtherCustom = 3 -} v2gserviceCategoryType; - -/* 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'. */ -#define v2gSPKIDataType_SPKISexp_BYTES_SIZE 350 -#define v2gSPKIDataType_SPKISexp_ARRAY_SIZE 1 -struct v2gSPKIDataType { - /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ + /* simple content: http://www.w3.org/2001/XMLSchema,base64Binary */ struct { - struct { - uint8_t bytes[v2gSPKIDataType_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } array[v2gSPKIDataType_SPKISexp_ARRAY_SIZE]; - uint16_t arrayLen; - } SPKISexp; -}; - -/* 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'. */ -#define v2gObjectType_Id_CHARACTERS_SIZE 50 -#define v2gObjectType_MimeType_CHARACTERS_SIZE 50 -#define v2gObjectType_Encoding_CHARACTERS_SIZE 50 -struct v2gObjectType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gObjectType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* attribute: MimeType {http://www.w3.org/2001/XMLSchema,string} */ - struct { - exi_string_character_t characters[v2gObjectType_MimeType_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MimeType ; - unsigned int MimeType_isUsed:1; - /* attribute: Encoding {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[v2gObjectType_Encoding_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Encoding ; - unsigned int Encoding_isUsed:1; -}; - -typedef enum { - v2gpaymentOptionType_Contract = 0, - v2gpaymentOptionType_ExternalPayment = 1 -} v2gpaymentOptionType; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ -struct v2gRelativeTimeIntervalType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":start, urn:iso:15118:2:2013:MsgDataTypes,#AnonType_startRelativeTimeIntervalType */ - uint32_t start ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":duration, urn:iso:15118:2:2013:MsgDataTypes,#AnonType_durationRelativeTimeIntervalType */ - uint32_t duration ; - unsigned int duration_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='privateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -#define v2gContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE 50 -#define v2gContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE 350 -struct v2gContractSignatureEncryptedPrivateKeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2013:MsgDataTypes,privateKeyType */ - struct { - uint8_t bytes[v2gContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE]; + uint8_t bytes[v2gSignatureValueType_CONTENT_BYTES_SIZE]; uint16_t bytesLen; } CONTENT ; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate{1-4})', derivedBy='RESTRICTION'. */ -#define v2gSubCertificatesType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ +typedef enum { + v2gEVErrorCodeType_RESSTemperatureInhibit = 0, + v2gEVErrorCodeType_EVShiftPosition = 1, + v2gEVErrorCodeType_ChargerConnectorLockFault = 2, + v2gEVErrorCodeType_EVRESSMalfunction = 3, + v2gEVErrorCodeType_ChargingCurrentdifferential = 4, + v2gEVErrorCodeType_ChargingVoltageOutOfRange = 5, + v2gEVErrorCodeType_ChargingSystemIncompatibility = 6, + v2gEVErrorCodeType_Reserved_A = 7, + v2gEVErrorCodeType_Reserved_B = 8, + v2gEVErrorCodeType_Reserved_C = 9 +} v2gEVErrorCodeType; + +/* 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'. */ +struct v2gEVSEFinePositioningSetupParametersType { + int noContent; /* avoid warning */ +}; + +/* 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'. */ +#define v2gSubCertificatesType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ #define v2gSubCertificatesType_Certificate_ARRAY_SIZE 4 struct v2gSubCertificatesType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Certificate, urn:iso:15118:2:2013:MsgDataTypes,certificateType */ + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Certificate, urn:iso:15118:2:2016:MsgDataTypes,certificateType */ struct { struct { uint8_t bytes[v2gSubCertificatesType_Certificate_BYTES_SIZE]; @@ -187,116 +115,64 @@ struct v2gSubCertificatesType { } Certificate; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PaymentOptionListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":PaymentOption{1-2})', derivedBy='RESTRICTION'. */ -#define v2gPaymentOptionListType_PaymentOption_ARRAY_SIZE 2 -struct v2gPaymentOptionListType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":PaymentOption, urn:iso:15118:2:2013:MsgDataTypes,paymentOptionType */ +/* 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'. */ +#define v2gMeterInfoType_MeterID_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,meterIDType is 32 */ +#define v2gMeterInfoType_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sigMeterReadingType is 64 */ +struct v2gMeterInfoType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MeterID, urn:iso:15118:2:2016:MsgDataTypes,meterIDType */ struct { - v2gpaymentOptionType array[v2gPaymentOptionListType_PaymentOption_ARRAY_SIZE]; - uint16_t arrayLen; - } PaymentOption; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ -struct v2gSelectedServiceType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,short */ - int16_t ParameterSetID ; - unsigned int ParameterSetID_isUsed:1; -}; - -typedef enum { - v2gresponseCodeType_OK = 0, - v2gresponseCodeType_OK_NewSessionEstablished = 1, - v2gresponseCodeType_OK_OldSessionJoined = 2, - v2gresponseCodeType_OK_CertificateExpiresSoon = 3, - v2gresponseCodeType_FAILED = 4, - v2gresponseCodeType_FAILED_SequenceError = 5, - v2gresponseCodeType_FAILED_ServiceIDInvalid = 6, - v2gresponseCodeType_FAILED_UnknownSession = 7, - v2gresponseCodeType_FAILED_ServiceSelectionInvalid = 8, - v2gresponseCodeType_FAILED_PaymentSelectionInvalid = 9, - v2gresponseCodeType_FAILED_CertificateExpired = 10, - v2gresponseCodeType_FAILED_SignatureError = 11, - v2gresponseCodeType_FAILED_NoCertificateAvailable = 12, - v2gresponseCodeType_FAILED_CertChainError = 13, - v2gresponseCodeType_FAILED_ChallengeInvalid = 14, - v2gresponseCodeType_FAILED_ContractCanceled = 15, - v2gresponseCodeType_FAILED_WrongChargeParameter = 16, - v2gresponseCodeType_FAILED_PowerDeliveryNotApplied = 17, - v2gresponseCodeType_FAILED_TariffSelectionInvalid = 18, - v2gresponseCodeType_FAILED_ChargingProfileInvalid = 19, - v2gresponseCodeType_FAILED_MeteringSignatureNotValid = 20, - v2gresponseCodeType_FAILED_NoChargeServiceSelected = 21, - v2gresponseCodeType_FAILED_WrongEnergyTransferMode = 22, - v2gresponseCodeType_FAILED_ContactorError = 23, - v2gresponseCodeType__FAILED_CertificateNotAllowedAtThisEVSE = 24, - v2gresponseCodeType_FAILED_CertificateRevoked = 25 -} v2gresponseCodeType; - -typedef enum { - v2gunitSymbolType_h = 0, - v2gunitSymbolType_m = 1, - v2gunitSymbolType_s = 2, - v2gunitSymbolType_A = 3, - v2gunitSymbolType_V = 4, - v2gunitSymbolType_W = 5, - v2gunitSymbolType_Wh = 6 -} v2gunitSymbolType; - -typedef enum { - v2gisolationLevelType_Invalid = 0, - v2gisolationLevelType_Valid = 1, - v2gisolationLevelType_Warning = 2, - v2gisolationLevelType_Fault = 3, - v2gisolationLevelType_No_IMD = 4 -} v2gisolationLevelType; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ -#define v2gServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -struct v2gServiceDiscoveryReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[v2gServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE]; + exi_string_character_t characters[v2gMeterInfoType_MeterID_CHARACTERS_SIZE]; uint16_t charactersLen; - } ServiceScope ; - unsigned int ServiceScope_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceCategory, urn:iso:15118:2:2013:MsgDataTypes,serviceCategoryType */ - v2gserviceCategoryType ServiceCategory ; - unsigned int ServiceCategory_isUsed:1; + } MeterID ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MeterReadingCharged, http://www.w3.org/2001/XMLSchema,unsignedLong */ + uint64_t MeterReadingCharged ; + unsigned int MeterReadingCharged_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MeterReadingDischarged, http://www.w3.org/2001/XMLSchema,unsignedLong */ + uint64_t MeterReadingDischarged ; + unsigned int MeterReadingDischarged_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SigMeterReading, urn:iso:15118:2:2016:MsgDataTypes,sigMeterReadingType */ + struct { + uint8_t bytes[v2gMeterInfoType_SigMeterReading_BYTES_SIZE]; + uint16_t bytesLen; + } SigMeterReading ; + unsigned int SigMeterReading_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MeterStatus, urn:iso:15118:2:2016:MsgDataTypes,meterStatusType */ + int16_t MeterStatus ; + unsigned int MeterStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":TMeter, http://www.w3.org/2001/XMLSchema,long */ + int64_t TMeter ; + unsigned int TMeter_isUsed:1; }; typedef enum { - v2gvalueType_bool = 0, - v2gvalueType_byte = 1, - v2gvalueType_short = 2, - v2gvalueType_int = 3, - v2gvalueType_physicalValue = 4, - v2gvalueType_string = 5 -} v2gvalueType; + v2gmechanicalChargingDeviceStatusType_Home = 0, + v2gmechanicalChargingDeviceStatusType_Moving = 1, + v2gmechanicalChargingDeviceStatusType_EndPosition = 2 +} v2gmechanicalChargingDeviceStatusType; + +/* 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'. */ +struct v2gV2GRequestType { + int noContent; /* avoid warning */ +}; + +/* 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":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ +#define v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE 5 +struct v2gSensorMeasurementsType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorID, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t SensorID ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EffectiveRadiatedPower, http://www.w3.org/2001/XMLSchema,byte */ + int8_t EffectiveRadiatedPower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MeasurementData, http://www.w3.org/2001/XMLSchema,unsignedShort */ + struct { + uint16_t array[v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE]; + uint16_t arrayLen; + } MeasurementData; +}; typedef enum { - v2gchargeProgressType_Start = 0, - v2gchargeProgressType_Stop = 1, - v2gchargeProgressType_Renegotiate = 2 -} v2gchargeProgressType; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -struct v2gServiceDetailReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -struct v2gPhysicalValueType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Multiplier, urn:iso:15118:2:2013:MsgDataTypes,unitMultiplierType */ - int8_t Multiplier ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Unit, urn:iso:15118:2:2013:MsgDataTypes,unitSymbolType */ - v2gunitSymbolType Unit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Value, http://www.w3.org/2001/XMLSchema,short */ - int16_t Value ; -}; + v2gEVOperationType_Charge = 0, + v2gEVOperationType_BPT = 1 +} v2gEVOperationType; /* 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'. */ #define v2gX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE 50 @@ -310,19 +186,248 @@ struct v2gX509IssuerSerialType { int64_t X509SerialNumber ; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ +/* 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'. */ +struct v2gEVFinePositioningSetupParametersType { + int noContent; /* avoid warning */ +}; + +/* 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'. */ +#define v2gMeteringReceiptReqType_Id_CHARACTERS_SIZE 50 +#define v2gMeteringReceiptReqType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sessionIDType is 8 */ +struct v2gMeteringReceiptReqType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gMeteringReceiptReqType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + /* element: "urn:iso:15118:2:2016:MsgBody":SessionID, urn:iso:15118:2:2016:MsgDataTypes,sessionIDType */ + struct { + uint8_t bytes[v2gMeteringReceiptReqType_SessionID_BYTES_SIZE]; + uint16_t bytesLen; + } SessionID ; + /* element: "urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ + uint8_t SAScheduleTupleID ; + unsigned int SAScheduleTupleID_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":MeterInfo, 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'. */ + struct v2gMeterInfoType MeterInfo ; +}; + +/* 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'. */ +#define v2gAuthorizationReqType_Id_CHARACTERS_SIZE 50 +#define v2gAuthorizationReqType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2016:MsgDataTypes,genChallengeType is 16 */ +struct v2gAuthorizationReqType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gAuthorizationReqType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + unsigned int Id_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":GenChallenge, urn:iso:15118:2:2016:MsgDataTypes,genChallengeType */ + struct { + uint8_t bytes[v2gAuthorizationReqType_GenChallenge_BYTES_SIZE]; + uint16_t bytesLen; + } GenChallenge ; + unsigned int GenChallenge_isUsed:1; +}; + +typedef enum { + v2gcostKindType_relativePricePercentage = 0, + v2gcostKindType_RenewableGenerationPercentage = 1, + v2gcostKindType_CarbonDioxideEmission = 2 +} v2gcostKindType; + +/* 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'. */ +#define v2gSignatureMethodType_Algorithm_CHARACTERS_SIZE 65 +#define v2gSignatureMethodType_ANY_CHARACTERS_SIZE 50 +struct v2gSignatureMethodType { + /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ + struct { + exi_string_character_t characters[v2gSignatureMethodType_Algorithm_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Algorithm ; + /* element: "http://www.w3.org/2000/09/xmldsig#":HMACOutputLength, http://www.w3.org/2000/09/xmldsig#,HMACOutputLengthType */ + int64_t HMACOutputLength ; + unsigned int HMACOutputLength_isUsed:1; + /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ + struct { + exi_string_character_t characters[v2gSignatureMethodType_ANY_CHARACTERS_SIZE]; + uint16_t charactersLen; + } ANY ; + unsigned int ANY_isUsed:1; +}; + +/* 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'. */ +struct v2gTargetPositionType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":TargetOffsetX, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t TargetOffsetX ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":TargetOffsetY, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t TargetOffsetY ; +}; + +/* 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'. */ +struct v2gEVFinePositioningParametersType { + int noContent; /* avoid warning */ +}; + +typedef enum { + v2gEVSECheckOutStatusType_Scheduled = 0, + v2gEVSECheckOutStatusType_Completed = 1 +} v2gEVSECheckOutStatusType; + +/* 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'. */ +struct v2gVehicleCheckOutReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVCheckOutStatus, urn:iso:15118:2:2016:MsgDataTypes,EVCheckOutStatusType */ + v2gEVCheckOutStatusType EVCheckOutStatus ; + /* element: "urn:iso:15118:2:2016:MsgBody":CheckOutTime, http://www.w3.org/2001/XMLSchema,unsignedLong */ + uint64_t CheckOutTime ; +}; + +typedef enum { + v2gserviceCategoryType_EVCharging = 0, + v2gserviceCategoryType_Internet = 1, + v2gserviceCategoryType_ContractCertificate = 2, + v2gserviceCategoryType_OtherCustom = 3 +} v2gserviceCategoryType; + +/* 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'. */ +#define v2gCertificateChainType_Id_CHARACTERS_SIZE 50 +#define v2gCertificateChainType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ +struct v2gCertificateChainType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gCertificateChainType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + unsigned int Id_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Certificate, urn:iso:15118:2:2016:MsgDataTypes,certificateType */ + struct { + uint8_t bytes[v2gCertificateChainType_Certificate_BYTES_SIZE]; + uint16_t bytesLen; + } Certificate ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SubCertificates, 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'. */ + struct v2gSubCertificatesType SubCertificates ; + unsigned int SubCertificates_isUsed:1; +}; + +/* 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'. */ +struct v2gServiceType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ServiceID, urn:iso:15118:2:2016:MsgDataTypes,serviceIDType */ + uint16_t ServiceID ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":FreeService, http://www.w3.org/2001/XMLSchema,boolean */ + int FreeService ; +}; + +/* Complex type name='urn:iso:15118:2:2016:MsgBody,EVErrorInformationType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ErrorCode)', derivedBy='EXTENSION'. */ +struct v2gEVErrorInformationType { + /* element: "urn:iso:15118:2:2016:MsgBody":ErrorCode, urn:iso:15118:2:2016:MsgDataTypes,EVErrorCodeType */ + v2gEVErrorCodeType ErrorCode ; +}; + +/* 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'. */ #define v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE 5 struct v2gListOfRootCertificateIDsType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID, 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'. */ + /* element: "urn:iso:15118:2:2016:MsgDataTypes":RootCertificateID, 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'. */ struct { struct v2gX509IssuerSerialType array[v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE]; uint16_t arrayLen; } RootCertificateID; }; +typedef enum { + v2gFODStatusType_ObjectOnPad = 0, + v2gFODStatusType_PadClear = 1, + v2gFODStatusType_UnknownError = 2 +} v2gFODStatusType; + +/* 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'. */ +#define v2gSPKIDataType_SPKISexp_BYTES_SIZE 350 +#define v2gSPKIDataType_SPKISexp_ARRAY_SIZE 1 +#define v2gSPKIDataType_ANY_CHARACTERS_SIZE 50 +struct v2gSPKIDataType { + /* element: "http://www.w3.org/2000/09/xmldsig#":SPKISexp, http://www.w3.org/2001/XMLSchema,base64Binary */ + struct { + struct { + uint8_t bytes[v2gSPKIDataType_SPKISexp_BYTES_SIZE]; + uint16_t bytesLen; + } array[v2gSPKIDataType_SPKISexp_ARRAY_SIZE]; + uint16_t arrayLen; + } SPKISexp; + /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ + struct { + exi_string_character_t characters[v2gSPKIDataType_ANY_CHARACTERS_SIZE]; + uint16_t charactersLen; + } ANY ; + unsigned int ANY_isUsed:1; +}; + +typedef enum { + v2gparkingMethodType_AutoParking = 0, + v2gparkingMethodType_MVGuideManual = 1, + v2gparkingMethodType_Manual = 2 +} v2gparkingMethodType; + +/* 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'. */ +struct v2gCartesianCoordinatesType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":XCoordinate, http://www.w3.org/2001/XMLSchema,short */ + int16_t XCoordinate ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":YCoordinate, http://www.w3.org/2001/XMLSchema,short */ + int16_t YCoordinate ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ZCoordinate, http://www.w3.org/2001/XMLSchema,short */ + int16_t ZCoordinate ; +}; + +/* 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'. */ +#define v2gRSAKeyValueType_Modulus_BYTES_SIZE 350 +#define v2gRSAKeyValueType_Exponent_BYTES_SIZE 350 +struct v2gRSAKeyValueType { + /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ + struct { + uint8_t bytes[v2gRSAKeyValueType_Modulus_BYTES_SIZE]; + uint16_t bytesLen; + } Modulus ; + /* element: "http://www.w3.org/2000/09/xmldsig#":Exponent, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ + struct { + uint8_t bytes[v2gRSAKeyValueType_Exponent_BYTES_SIZE]; + uint16_t bytesLen; + } Exponent ; +}; + +/* 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'. */ +struct v2gSelectedServiceType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ServiceID, urn:iso:15118:2:2016:MsgDataTypes,serviceIDType */ + uint16_t ServiceID ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t ParameterSetID ; +}; + +/* 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'. */ +#define v2gSignaturePropertyType_Target_CHARACTERS_SIZE 50 +#define v2gSignaturePropertyType_Id_CHARACTERS_SIZE 50 +#define v2gSignaturePropertyType_ANY_CHARACTERS_SIZE 50 +struct v2gSignaturePropertyType { + /* attribute: Target {http://www.w3.org/2001/XMLSchema,anyURI} */ + struct { + exi_string_character_t characters[v2gSignaturePropertyType_Target_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Target ; + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gSignaturePropertyType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + unsigned int Id_isUsed:1; + /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ + struct { + exi_string_character_t characters[v2gSignaturePropertyType_ANY_CHARACTERS_SIZE]; + uint16_t charactersLen; + } ANY ; + unsigned int ANY_isUsed:1; +}; + /* 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'. */ #define v2gPGPDataType_PGPKeyID_BYTES_SIZE 350 #define v2gPGPDataType_PGPKeyPacket_BYTES_SIZE 350 +#define v2gPGPDataType_ANY_CHARACTERS_SIZE 50 struct v2gPGPDataType { /* element: "http://www.w3.org/2000/09/xmldsig#":PGPKeyID, http://www.w3.org/2001/XMLSchema,base64Binary */ struct { @@ -336,64 +441,12 @@ struct v2gPGPDataType { uint16_t bytesLen; } PGPKeyPacket ; unsigned int PGPKeyPacket_isUsed:1; -}; - -typedef enum { - v2gfaultCodeType_ParsingError = 0, - v2gfaultCodeType_NoTLSRootCertificatAvailable = 1, - v2gfaultCodeType_UnknownError = 2 -} v2gfaultCodeType; - -typedef enum { - v2gchargingSessionType_Terminate = 0, - v2gchargingSessionType_Pause = 1 -} v2gchargingSessionType; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ChargingSession)', derivedBy='EXTENSION'. */ -struct v2gSessionStopReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ChargingSession, urn:iso:15118:2:2013:MsgDataTypes,chargingSessionType */ - v2gchargingSessionType ChargingSession ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct v2gSASchedulesType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -#define v2gDiffieHellmanPublickeyType_Id_CHARACTERS_SIZE 50 -#define v2gDiffieHellmanPublickeyType_CONTENT_BYTES_SIZE 350 -struct v2gDiffieHellmanPublickeyType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ struct { - exi_string_character_t characters[v2gDiffieHellmanPublickeyType_Id_CHARACTERS_SIZE]; + exi_string_character_t characters[v2gPGPDataType_ANY_CHARACTERS_SIZE]; uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2013:MsgDataTypes,dHpublickeyType */ - struct { - uint8_t bytes[v2gDiffieHellmanPublickeyType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -#define v2gSessionSetupReqType_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evccIDType is 6 */ -struct v2gSessionSetupReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":EVCCID, urn:iso:15118:2:2013:MsgDataTypes,evccIDType */ - struct { - uint8_t bytes[v2gSessionSetupReqType_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ -struct v2gDC_EVStatusType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVReady, http://www.w3.org/2001/XMLSchema,boolean */ - int EVReady ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode, urn:iso:15118:2:2013:MsgDataTypes,DC_EVErrorCodeType */ - v2gDC_EVErrorCodeType EVErrorCode ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC, urn:iso:15118:2:2013:MsgDataTypes,percentValueType */ - int8_t EVRESSSOC ; + } ANY ; + unsigned int ANY_isUsed:1; }; /* 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'. */ @@ -448,101 +501,14 @@ struct v2gDSAKeyValueType { unsigned int PgenCounter_isUsed:1; }; -/* 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'. */ -#define v2gRSAKeyValueType_Modulus_BYTES_SIZE 350 -#define v2gRSAKeyValueType_Exponent_BYTES_SIZE 350 -struct v2gRSAKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":Modulus, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ +/* 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'. */ +#define v2gServiceIDListType_ServiceID_ARRAY_SIZE 5 +struct v2gServiceIDListType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ServiceID, urn:iso:15118:2:2016:MsgDataTypes,serviceIDType */ struct { - uint8_t bytes[v2gRSAKeyValueType_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; - /* element: "http://www.w3.org/2000/09/xmldsig#":Exponent, http://www.w3.org/2000/09/xmldsig#,CryptoBinary */ - struct { - uint8_t bytes[v2gRSAKeyValueType_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; -}; - -/* 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'. */ -#define v2gSignatureMethodType_Algorithm_CHARACTERS_SIZE 65 -struct v2gSignatureMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[v2gSignatureMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; - /* element: "http://www.w3.org/2000/09/xmldsig#":HMACOutputLength, http://www.w3.org/2000/09/xmldsig#,HMACOutputLengthType */ - int64_t HMACOutputLength ; - unsigned int HMACOutputLength_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":EAmount,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2013:MsgDataTypes":EVMinCurrent))', derivedBy='EXTENSION'. */ -struct v2gAC_EVChargeParameterType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t DepartureTime ; - unsigned int DepartureTime_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EAmount, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EAmount ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaxVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVMaxVoltage ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaxCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVMaxCurrent ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMinCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVMinCurrent ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -#define v2gCertificateInstallationReqType_Id_CHARACTERS_SIZE 50 -#define v2gCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -struct v2gCertificateInstallationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gCertificateInstallationReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* element: "urn:iso:15118:2:2013:MsgBody":OEMProvisioningCert, urn:iso:15118:2:2013:MsgDataTypes,certificateType */ - struct { - uint8_t bytes[v2gCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - /* element: "urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct v2gListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -#define v2gCertificateChainType_Id_CHARACTERS_SIZE 50 -#define v2gCertificateChainType_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -struct v2gCertificateChainType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gCertificateChainType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Certificate, urn:iso:15118:2:2013:MsgDataTypes,certificateType */ - struct { - uint8_t bytes[v2gCertificateChainType_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SubCertificates, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate{1-4})', derivedBy='RESTRICTION'. */ - struct v2gSubCertificatesType SubCertificates ; - unsigned int SubCertificates_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp{0-1})', derivedBy='EXTENSION'. */ -#define v2gSessionSetupResType_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -struct v2gSessionSetupResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[v2gSessionSetupResType_EVSEID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } EVSEID ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSETimeStamp, http://www.w3.org/2001/XMLSchema,long */ - int64_t EVSETimeStamp ; - unsigned int EVSETimeStamp_isUsed:1; + uint16_t array[v2gServiceIDListType_ServiceID_ARRAY_SIZE]; + uint16_t arrayLen; + } ServiceID; }; /* 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'. */ @@ -555,6 +521,7 @@ struct v2gSessionSetupResType { #define v2gX509DataType_X509Certificate_ARRAY_SIZE 1 #define v2gX509DataType_X509CRL_BYTES_SIZE 350 #define v2gX509DataType_X509CRL_ARRAY_SIZE 1 +#define v2gX509DataType_ANY_CHARACTERS_SIZE 50 struct v2gX509DataType { /* element: "http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial, 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'. */ struct { @@ -593,183 +560,215 @@ struct v2gX509DataType { } array[v2gX509DataType_X509CRL_ARRAY_SIZE]; uint16_t arrayLen; } X509CRL; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -#define v2gEMAIDType_Id_CHARACTERS_SIZE 50 -#define v2gEMAIDType_CONTENT_CHARACTERS_SIZE 50 -struct v2gEMAIDType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ struct { - exi_string_character_t characters[v2gEMAIDType_Id_CHARACTERS_SIZE]; + exi_string_character_t characters[v2gX509DataType_ANY_CHARACTERS_SIZE]; uint16_t charactersLen; - } Id ; - /* simple content: urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[v2gEMAIDType_CONTENT_CHARACTERS_SIZE]; - uint16_t charactersLen; - } CONTENT ; + } ANY ; + unsigned int ANY_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -#define v2gMeterInfoType_MeterID_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,meterIDType is 32 */ -#define v2gMeterInfoType_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType is 64 */ -struct v2gMeterInfoType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":MeterID, urn:iso:15118:2:2013:MsgDataTypes,meterIDType */ - struct { - exi_string_character_t characters[v2gMeterInfoType_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":MeterReading, http://www.w3.org/2001/XMLSchema,unsignedLong */ - uint64_t MeterReading ; - unsigned int MeterReading_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading, urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType */ - struct { - uint8_t bytes[v2gMeterInfoType_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - unsigned int SigMeterReading_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":MeterStatus, urn:iso:15118:2:2013:MsgDataTypes,meterStatusType */ - int16_t MeterStatus ; - unsigned int MeterStatus_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":TMeter, http://www.w3.org/2001/XMLSchema,long */ - int64_t TMeter ; - unsigned int TMeter_isUsed:1; +/* 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'. */ +struct v2gEVEnergyTransferParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ + uint32_t DepartureTime ; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -#define v2gServiceType_ServiceName_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */ -#define v2gServiceType_ServiceScope_CHARACTERS_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -struct v2gServiceType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceName, urn:iso:15118:2:2013:MsgDataTypes,serviceNameType */ - struct { - exi_string_character_t characters[v2gServiceType_ServiceName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceName ; - unsigned int ServiceName_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory, urn:iso:15118:2:2013:MsgDataTypes,serviceCategoryType */ - v2gserviceCategoryType ServiceCategory ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[v2gServiceType_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - unsigned int ServiceScope_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":FreeService, http://www.w3.org/2001/XMLSchema,boolean */ - int FreeService ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define v2gSelectedServiceListType_SelectedService_ARRAY_SIZE 5 -struct v2gSelectedServiceListType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SelectedService, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ - struct { - struct v2gSelectedServiceType array[v2gSelectedServiceListType_SelectedService_ARRAY_SIZE]; - uint16_t arrayLen; - } SelectedService; -}; - -typedef enum { - v2gcostKindType_relativePricePercentage = 0, - v2gcostKindType_RenewableGenerationPercentage = 1, - v2gcostKindType_CarbonDioxideEmission = 2 -} v2gcostKindType; - -/* 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'. */ -#define v2gSignatureValueType_Id_CHARACTERS_SIZE 50 -#define v2gSignatureValueType_CONTENT_BYTES_SIZE 350 -struct v2gSignatureValueType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gSignatureValueType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* simple content: http://www.w3.org/2001/XMLSchema,base64Binary */ - struct { - uint8_t bytes[v2gSignatureValueType_CONTENT_BYTES_SIZE]; - uint16_t bytesLen; - } CONTENT ; -}; - -/* 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'. */ -#define v2gSignaturePropertiesType_Id_CHARACTERS_SIZE 50 -#define v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 -struct v2gSignaturePropertiesType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gSignaturePropertiesType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureProperty, 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'. */ - struct { - struct v2gSignaturePropertyType array[v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; - uint16_t arrayLen; - } SignatureProperty; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -#define v2gAuthorizationReqType_Id_CHARACTERS_SIZE 50 -#define v2gAuthorizationReqType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */ -struct v2gAuthorizationReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gAuthorizationReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":GenChallenge, urn:iso:15118:2:2013:MsgDataTypes,genChallengeType */ - struct { - uint8_t bytes[v2gAuthorizationReqType_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - unsigned int GenChallenge_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct v2gEVStatusType { - int noContent; /* avoid warning */ -}; - -typedef enum { - v2gEnergyTransferModeType_AC_single_phase_core = 0, - v2gEnergyTransferModeType_AC_three_phase_core = 1, - v2gEnergyTransferModeType_DC_core = 2, - v2gEnergyTransferModeType_DC_extended = 3, - v2gEnergyTransferModeType_DC_combo_core = 4, - v2gEnergyTransferModeType_DC_unique = 5 -} v2gEnergyTransferModeType; - -/* 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'. */ -#define v2gDigestMethodType_Algorithm_CHARACTERS_SIZE 65 -struct v2gDigestMethodType { +/* 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'. */ +#define v2gCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 +#define v2gCanonicalizationMethodType_ANY_CHARACTERS_SIZE 50 +struct v2gCanonicalizationMethodType { /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ struct { - exi_string_character_t characters[v2gDigestMethodType_Algorithm_CHARACTERS_SIZE]; + exi_string_character_t characters[v2gCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; uint16_t charactersLen; } Algorithm ; + /* element: WC[##any] */ + struct { + exi_string_character_t characters[v2gCanonicalizationMethodType_ANY_CHARACTERS_SIZE]; + uint16_t charactersLen; + } ANY ; + unsigned int ANY_isUsed:1; }; -/* 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'. */ -struct v2gKeyValueType { - /* element: "http://www.w3.org/2000/09/xmldsig#":DSAKeyValue, 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'. */ - struct v2gDSAKeyValueType DSAKeyValue ; - unsigned int DSAKeyValue_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":RSAKeyValue, 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'. */ - struct v2gRSAKeyValueType RSAKeyValue ; - unsigned int RSAKeyValue_isUsed:1; +/* 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'. */ +#define v2gCertificateInstallationReqType_Id_CHARACTERS_SIZE 50 +#define v2gCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ +struct v2gCertificateInstallationReqType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gCertificateInstallationReqType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + /* element: "urn:iso:15118:2:2016:MsgBody":OEMProvisioningCert, urn:iso:15118:2:2016:MsgDataTypes,certificateType */ + struct { + uint8_t bytes[v2gCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE]; + uint16_t bytesLen; + } OEMProvisioningCert ; + /* element: "urn:iso:15118:2:2016:MsgBody":ListOfRootCertificateIDs, 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'. */ + struct v2gListOfRootCertificateIDsType ListOfRootCertificateIDs ; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct v2gEVPowerDeliveryParameterType { +/* 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'. */ +struct v2gEVSEEnergyTransferParameterType { int noContent; /* avoid warning */ }; +/* 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'. */ +#define v2gDiffieHellmanPublickeyType_Id_CHARACTERS_SIZE 50 +#define v2gDiffieHellmanPublickeyType_CONTENT_BYTES_SIZE 350 +struct v2gDiffieHellmanPublickeyType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gDiffieHellmanPublickeyType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + /* simple content: urn:iso:15118:2:2016:MsgDataTypes,dHpublickeyType */ + struct { + uint8_t bytes[v2gDiffieHellmanPublickeyType_CONTENT_BYTES_SIZE]; + uint16_t bytesLen; + } CONTENT ; +}; + +typedef enum { + v2gresponseCodeType_OK = 0, + v2gresponseCodeType_OK_NewSessionEstablished = 1, + v2gresponseCodeType_OK_OldSessionJoined = 2, + v2gresponseCodeType_OK_CertificateExpiresSoon = 3, + v2gresponseCodeType_OK_IsolationValid = 4, + v2gresponseCodeType_OK_IsolationWarning = 5, + v2gresponseCodeType_WARNING_CertificateExpired = 6, + v2gresponseCodeType_WARNING_NoCertificateAvailable = 7, + v2gresponseCodeType_WARNING_CertValidationError = 8, + v2gresponseCodeType_WARNING_CertVerificationError = 9, + v2gresponseCodeType_WARNING_ContractCanceled = 10, + v2gresponseCodeType_FAILED = 11, + v2gresponseCodeType_FAILED_SequenceError = 12, + v2gresponseCodeType_FAILED_ServiceIDInvalid = 13, + v2gresponseCodeType_FAILED_UnknownSession = 14, + v2gresponseCodeType_FAILED_ServiceSelectionInvalid = 15, + v2gresponseCodeType_FAILED_SignatureError = 16, + v2gresponseCodeType_FAILED_PaymentSelectionInvalid = 17, + v2gresponseCodeType_FAILED_ChallengeInvalid = 18, + v2gresponseCodeType_FAILED_WrongChargeParameter = 19, + v2gresponseCodeType_FAILED_IsolationFault = 20, + v2gresponseCodeType_FAILED_PowerDeliveryNotApplied = 21, + v2gresponseCodeType_FAILED_TariffSelectionInvalid = 22, + v2gresponseCodeType_FAILED_ChargingProfileInvalid = 23, + v2gresponseCodeType_FAILED_MeteringSignatureNotValid = 24, + v2gresponseCodeType_FAILED_NoChargeServiceSelected = 25, + v2gresponseCodeType_FAILED_WrongEnergyTransferMode = 26, + v2gresponseCodeType_FAILED_ContactorError = 27, + v2gresponseCodeType_FAILED_CertificateRevoked = 28, + v2gresponseCodeType_FAILED_CertificateNotYetValid = 29 +} v2gresponseCodeType; + +/* 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'. */ +#define v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE 5 +struct v2gSensorPackageType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":PackageIndex, http://www.w3.org/2001/XMLSchema,unsignedInt */ + uint32_t PackageIndex ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorMeasurements, 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":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ + struct { + struct v2gSensorMeasurementsType array[v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE]; + uint16_t arrayLen; + } SensorMeasurements; +}; + +typedef enum { + v2gvalueType_bool = 0, + v2gvalueType_byte = 1, + v2gvalueType_short = 2, + v2gvalueType_int = 3, + v2gvalueType_physicalValue = 4, + v2gvalueType_string = 5 +} v2gvalueType; + +/* 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'. */ +#define v2gCertificateUpdateReqType_Id_CHARACTERS_SIZE 50 +#define v2gCertificateUpdateReqType_eMAID_CHARACTERS_SIZE 15 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,eMAIDType is 15 */ +struct v2gCertificateUpdateReqType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gCertificateUpdateReqType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + /* element: "urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain, 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'. */ + struct v2gCertificateChainType ContractSignatureCertChain ; + /* element: "urn:iso:15118:2:2016:MsgBody":eMAID, urn:iso:15118:2:2016:MsgDataTypes,eMAIDType */ + struct { + exi_string_character_t characters[v2gCertificateUpdateReqType_eMAID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } eMAID ; + /* element: "urn:iso:15118:2:2016:MsgBody":ListOfRootCertificateIDs, 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'. */ + struct v2gListOfRootCertificateIDsType ListOfRootCertificateIDs ; +}; + +/* 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'. */ +struct v2gPhysicalValueType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Exponent, urn:iso:15118:2:2016:MsgDataTypes,exponentType */ + int8_t Exponent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Value, http://www.w3.org/2001/XMLSchema,short */ + int16_t Value ; +}; + +/* 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'. */ +#define v2gParameterType_Name_CHARACTERS_SIZE 50 +#define v2gParameterType_stringValue_CHARACTERS_SIZE 50 +struct v2gParameterType { + /* attribute: Name {http://www.w3.org/2001/XMLSchema,string} */ + struct { + exi_string_character_t characters[v2gParameterType_Name_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Name ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":boolValue, http://www.w3.org/2001/XMLSchema,boolean */ + int boolValue ; + unsigned int boolValue_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":byteValue, http://www.w3.org/2001/XMLSchema,byte */ + int8_t byteValue ; + unsigned int byteValue_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":shortValue, http://www.w3.org/2001/XMLSchema,short */ + int16_t shortValue ; + unsigned int shortValue_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":intValue, http://www.w3.org/2001/XMLSchema,int */ + int32_t intValue ; + unsigned int intValue_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":physicalValue, 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'. */ + struct v2gPhysicalValueType physicalValue ; + unsigned int physicalValue_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":stringValue, http://www.w3.org/2001/XMLSchema,string */ + struct { + exi_string_character_t characters[v2gParameterType_stringValue_CHARACTERS_SIZE]; + uint16_t charactersLen; + } stringValue ; + unsigned int stringValue_isUsed:1; +}; + +/* 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'. */ +struct v2gEVSEFinePositioningParametersType { + int noContent; /* avoid warning */ +}; + +/* 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'. */ +struct v2gAC_EVSEChargeParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSENominalVoltage, 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'. */ + struct v2gPhysicalValueType EVSENominalVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency, 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'. */ + struct v2gPhysicalValueType EVSENominalFrequency ; +}; + +/* 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'. */ +struct v2gServiceDiscoveryReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":SupportedServiceIDs, 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'. */ + struct v2gServiceIDListType SupportedServiceIDs ; + unsigned int SupportedServiceIDs_isUsed:1; +}; + /* 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'. */ #define v2gTransformType_Algorithm_CHARACTERS_SIZE 65 +#define v2gTransformType_ANY_CHARACTERS_SIZE 50 #define v2gTransformType_XPath_CHARACTERS_SIZE 50 #define v2gTransformType_XPath_ARRAY_SIZE 1 struct v2gTransformType { @@ -778,6 +777,12 @@ struct v2gTransformType { exi_string_character_t characters[v2gTransformType_Algorithm_CHARACTERS_SIZE]; uint16_t charactersLen; } Algorithm ; + /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ + struct { + exi_string_character_t characters[v2gTransformType_ANY_CHARACTERS_SIZE]; + uint16_t charactersLen; + } ANY ; + unsigned int ANY_isUsed:1; /* element: "http://www.w3.org/2000/09/xmldsig#":XPath, http://www.w3.org/2001/XMLSchema,string */ struct { struct { @@ -788,273 +793,117 @@ struct v2gTransformType { } XPath; }; -/* Complex type name='urn:iso:15118:2:2013:MsgBody,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ +/* 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'. */ +#define v2gObjectType_Id_CHARACTERS_SIZE 50 +#define v2gObjectType_MimeType_CHARACTERS_SIZE 50 +#define v2gObjectType_Encoding_CHARACTERS_SIZE 50 +#define v2gObjectType_ANY_CHARACTERS_SIZE 50 +struct v2gObjectType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gObjectType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + unsigned int Id_isUsed:1; + /* attribute: MimeType {http://www.w3.org/2001/XMLSchema,string} */ + struct { + exi_string_character_t characters[v2gObjectType_MimeType_CHARACTERS_SIZE]; + uint16_t charactersLen; + } MimeType ; + unsigned int MimeType_isUsed:1; + /* attribute: Encoding {http://www.w3.org/2001/XMLSchema,anyURI} */ + struct { + exi_string_character_t characters[v2gObjectType_Encoding_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Encoding ; + unsigned int Encoding_isUsed:1; + /* element: WC[##any] */ + struct { + exi_string_character_t characters[v2gObjectType_ANY_CHARACTERS_SIZE]; + uint16_t charactersLen; + } ANY ; + unsigned int ANY_isUsed:1; +}; + +typedef enum { + v2gvehicleSpaceType_AutoParking = 0, + v2gvehicleSpaceType_MVGuideManual = 1, + v2gvehicleSpaceType_Manual = 2 +} v2gvehicleSpaceType; + +typedef enum { + v2goperationModeType_Ready = 0, + v2goperationModeType_NotReady = 1 +} v2goperationModeType; + +typedef enum { + v2gEVSEErrorCodeType_RESSTemperatureInhibit = 0, + v2gEVSEErrorCodeType_ChargerConnectorLockFault = 1, + v2gEVSEErrorCodeType_ChargingCurrentdifferential = 2, + v2gEVSEErrorCodeType_ChargingVoltageOutOfRange = 3, + v2gEVSEErrorCodeType_ChargingSystemIncompatibility = 4, + v2gEVSEErrorCodeType_Reserved_A = 5, + v2gEVSEErrorCodeType_Reserved_B = 6, + v2gEVSEErrorCodeType_Reserved_C = 7 +} v2gEVSEErrorCodeType; + +/* 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'. */ +#define v2gSensorPackageListType_SensorPackage_ARRAY_SIZE 5 +struct v2gSensorPackageListType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorPackage, 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'. */ + struct { + struct v2gSensorPackageType array[v2gSensorPackageListType_SensorPackage_ARRAY_SIZE]; + uint16_t arrayLen; + } SensorPackage; +}; + +/* 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'. */ struct v2gBodyBaseType { int noContent; /* avoid warning */ }; -/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -struct v2gSessionStopResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":boolValue|"urn:iso:15118:2:2013:MsgDataTypes":byteValue|"urn:iso:15118:2:2013:MsgDataTypes":shortValue|"urn:iso:15118:2:2013:MsgDataTypes":intValue|"urn:iso:15118:2:2013:MsgDataTypes":physicalValue|"urn:iso:15118:2:2013:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -#define v2gParameterType_Name_CHARACTERS_SIZE 50 -#define v2gParameterType_stringValue_CHARACTERS_SIZE 50 -struct v2gParameterType { - /* attribute: Name {http://www.w3.org/2001/XMLSchema,string} */ - struct { - exi_string_character_t characters[v2gParameterType_Name_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Name ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":boolValue, http://www.w3.org/2001/XMLSchema,boolean */ - int boolValue ; - unsigned int boolValue_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":byteValue, http://www.w3.org/2001/XMLSchema,byte */ - int8_t byteValue ; - unsigned int byteValue_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":shortValue, http://www.w3.org/2001/XMLSchema,short */ - int16_t shortValue ; - unsigned int shortValue_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":intValue, http://www.w3.org/2001/XMLSchema,int */ - int32_t intValue ; - unsigned int intValue_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":physicalValue, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType physicalValue ; - unsigned int physicalValue_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":stringValue, http://www.w3.org/2001/XMLSchema,string */ - struct { - exi_string_character_t characters[v2gParameterType_stringValue_CHARACTERS_SIZE]; - uint16_t charactersLen; - } stringValue ; - unsigned int stringValue_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Service{1-8})', derivedBy='RESTRICTION'. */ -#define v2gServiceListType_Service_ARRAY_SIZE 5 -struct v2gServiceListType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Service, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ - struct { - struct v2gServiceType array[v2gServiceListType_Service_ARRAY_SIZE]; - uint16_t arrayLen; - } Service; -}; - -/* 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'. */ -#define v2gCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE 65 -struct v2gCanonicalizationMethodType { - /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[v2gCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Algorithm ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1})', derivedBy='RESTRICTION'. */ -struct v2gEVChargeParameterType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t DepartureTime ; - unsigned int DepartureTime_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -struct v2gIntervalType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -struct v2gPreChargeReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct v2gDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVTargetVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVTargetVoltage ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVTargetCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVTargetCurrent ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -struct v2gChargingStatusReqType { - int noContent; /* avoid warning */ -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":GenChallenge,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp)', derivedBy='EXTENSION'. */ -#define v2gPaymentDetailsResType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */ -struct v2gPaymentDetailsResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":GenChallenge, urn:iso:15118:2:2013:MsgDataTypes,genChallengeType */ - struct { - uint8_t bytes[v2gPaymentDetailsResType_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSETimeStamp, http://www.w3.org/2001/XMLSchema,long */ - int64_t EVSETimeStamp ; -}; +typedef enum { + v2gEVCheckInStatusType_CheckIn = 0, + v2gEVCheckInStatusType_Processing = 1, + v2gEVCheckInStatusType_Completed = 2 +} v2gEVCheckInStatusType; typedef enum { - v2gEVSEProcessingType_Finished = 0, - v2gEVSEProcessingType_Ongoing = 1, - v2gEVSEProcessingType_Ongoing_WaitingForCustomerInteraction = 2 -} v2gEVSEProcessingType; + v2gpaymentOptionType_Contract = 0, + v2gpaymentOptionType_ExternalPayment = 1 +} v2gpaymentOptionType; -typedef enum { - v2gEVSENotificationType_None = 0, - v2gEVSENotificationType_StopCharging = 1, - v2gEVSENotificationType_ReNegotiation = 2 -} v2gEVSENotificationType; - -typedef enum { - v2gDC_EVSEStatusCodeType_EVSE_NotReady = 0, - v2gDC_EVSEStatusCodeType_EVSE_Ready = 1, - v2gDC_EVSEStatusCodeType_EVSE_Shutdown = 2, - v2gDC_EVSEStatusCodeType_EVSE_UtilityInterruptEvent = 3, - v2gDC_EVSEStatusCodeType_EVSE_IsolationMonitoringActive = 4, - v2gDC_EVSEStatusCodeType_EVSE_EmergencyShutdown = 5, - v2gDC_EVSEStatusCodeType_EVSE_Malfunction = 6, - v2gDC_EVSEStatusCodeType_Reserved_8 = 7, - v2gDC_EVSEStatusCodeType_Reserved_9 = 8, - v2gDC_EVSEStatusCodeType_Reserved_A = 9, - v2gDC_EVSEStatusCodeType_Reserved_B = 10, - v2gDC_EVSEStatusCodeType_Reserved_C = 11 -} v2gDC_EVSEStatusCodeType; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ -struct v2gDC_EVPowerDeliveryParameterType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct v2gDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":BulkChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int BulkChargingComplete ; - unsigned int BulkChargingComplete_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int ChargingComplete ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))', derivedBy='EXTENSION'. */ -struct v2gAC_EVSEStatusType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedShort */ - uint16_t NotificationMaxDelay ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSENotification, urn:iso:15118:2:2013:MsgDataTypes,EVSENotificationType */ - v2gEVSENotificationType EVSENotification ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":RCD, http://www.w3.org/2001/XMLSchema,boolean */ - int RCD ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2013:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ -struct v2gPaymentServiceSelectionReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption, urn:iso:15118:2:2013:MsgDataTypes,paymentOptionType */ - v2gpaymentOptionType SelectedPaymentOption ; - /* element: "urn:iso:15118:2:2013:MsgBody":SelectedServiceList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct v2gSelectedServiceListType SelectedServiceList ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":FaultCode,"urn:iso:15118:2:2013:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ -#define v2gNotificationType_FaultMsg_CHARACTERS_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,faultMsgType is 64 */ -struct v2gNotificationType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":FaultCode, urn:iso:15118:2:2013:MsgDataTypes,faultCodeType */ - v2gfaultCodeType FaultCode ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":FaultMsg, urn:iso:15118:2:2013:MsgDataTypes,faultMsgType */ +/* 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'. */ +#define v2gKeyValueType_ANY_CHARACTERS_SIZE 50 +struct v2gKeyValueType { + /* element: "http://www.w3.org/2000/09/xmldsig#":DSAKeyValue, 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'. */ + struct v2gDSAKeyValueType DSAKeyValue ; + unsigned int DSAKeyValue_isUsed:1; + /* element: "http://www.w3.org/2000/09/xmldsig#":RSAKeyValue, 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'. */ + struct v2gRSAKeyValueType RSAKeyValue ; + unsigned int RSAKeyValue_isUsed:1; + /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ struct { - exi_string_character_t characters[v2gNotificationType_FaultMsg_CHARACTERS_SIZE]; + exi_string_character_t characters[v2gKeyValueType_ANY_CHARACTERS_SIZE]; uint16_t charactersLen; - } FaultMsg ; - unsigned int FaultMsg_isUsed:1; + } ANY ; + unsigned int ANY_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2013:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define v2gParameterSetType_Parameter_ARRAY_SIZE 5 -struct v2gParameterSetType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,short */ - int16_t ParameterSetID ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Parameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":boolValue|"urn:iso:15118:2:2013:MsgDataTypes":byteValue|"urn:iso:15118:2:2013:MsgDataTypes":shortValue|"urn:iso:15118:2:2013:MsgDataTypes":intValue|"urn:iso:15118:2:2013:MsgDataTypes":physicalValue|"urn:iso:15118:2:2013:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ - struct { - struct v2gParameterType array[v2gParameterSetType_Parameter_ARRAY_SIZE]; - uint16_t arrayLen; - } Parameter; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -struct v2gPaymentServiceSelectionResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SupportedEnergyTransferModeType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode{1-6})', derivedBy='RESTRICTION'. */ -#define v2gSupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE 5 -struct v2gSupportedEnergyTransferModeType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode, urn:iso:15118:2:2013:MsgDataTypes,EnergyTransferModeType */ - struct { - v2gEnergyTransferModeType array[v2gSupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE]; - uint16_t arrayLen; - } EnergyTransferMode; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2013:MsgDataTypes":BulkSOC{0-1}))', derivedBy='EXTENSION'. */ -struct v2gDC_EVChargeParameterType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t DepartureTime ; - unsigned int DepartureTime_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct v2gDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVMaximumCurrentLimit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaximumPowerLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVMaximumPowerLimit ; - unsigned int EVMaximumPowerLimit_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVMaximumVoltageLimit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVEnergyCapacity, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVEnergyCapacity ; - unsigned int EVEnergyCapacity_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVEnergyRequest, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVEnergyRequest ; - unsigned int EVEnergyRequest_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":FullSOC, urn:iso:15118:2:2013:MsgDataTypes,percentValueType */ - int8_t FullSOC ; - unsigned int FullSOC_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":BulkSOC, urn:iso:15118:2:2013:MsgDataTypes,percentValueType */ - int8_t BulkSOC ; - unsigned int BulkSOC_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":SessionID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -#define v2gMeteringReceiptReqType_Id_CHARACTERS_SIZE 50 -#define v2gMeteringReceiptReqType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */ -struct v2gMeteringReceiptReqType { +/* 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'. */ +#define v2gEMAIDType_Id_CHARACTERS_SIZE 50 +#define v2gEMAIDType_CONTENT_CHARACTERS_SIZE 50 +struct v2gEMAIDType { /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ struct { - exi_string_character_t characters[v2gMeteringReceiptReqType_Id_CHARACTERS_SIZE]; + exi_string_character_t characters[v2gEMAIDType_Id_CHARACTERS_SIZE]; uint16_t charactersLen; } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":SessionID, urn:iso:15118:2:2013:MsgDataTypes,sessionIDType */ + /* simple content: urn:iso:15118:2:2016:MsgDataTypes,eMAIDType */ struct { - uint8_t bytes[v2gMeteringReceiptReqType_SessionID_BYTES_SIZE]; - uint16_t bytesLen; - } SessionID ; - /* element: "urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */ - uint8_t SAScheduleTupleID ; - unsigned int SAScheduleTupleID_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ - struct v2gMeterInfoType MeterInfo ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":MaxEntriesSAScheduleTuple{0-1},"urn:iso:15118:2:2013:MsgBody":RequestedEnergyTransferMode,"urn:iso:15118:2:2013:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ -struct v2gChargeParameterDiscoveryReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":MaxEntriesSAScheduleTuple, http://www.w3.org/2001/XMLSchema,unsignedShort */ - uint16_t MaxEntriesSAScheduleTuple ; - unsigned int MaxEntriesSAScheduleTuple_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":RequestedEnergyTransferMode, urn:iso:15118:2:2013:MsgDataTypes,EnergyTransferModeType */ - v2gEnergyTransferModeType RequestedEnergyTransferMode ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1})', derivedBy='RESTRICTION'. */ - struct v2gEVChargeParameterType EVChargeParameter ; - unsigned int EVChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":EAmount,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2013:MsgDataTypes":EVMinCurrent))', derivedBy='EXTENSION'. */ - struct v2gAC_EVChargeParameterType AC_EVChargeParameter ; - unsigned int AC_EVChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2013:MsgDataTypes":BulkSOC{0-1}))', derivedBy='EXTENSION'. */ - struct v2gDC_EVChargeParameterType DC_EVChargeParameter ; - unsigned int DC_EVChargeParameter_isUsed:1; + exi_string_character_t characters[v2gEMAIDType_CONTENT_CHARACTERS_SIZE]; + uint16_t charactersLen; + } CONTENT ; }; /* 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'. */ @@ -1067,300 +916,6 @@ struct v2gTransformsType { } Transform; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification)', derivedBy='RESTRICTION'. */ -struct v2gEVSEStatusType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedShort */ - uint16_t NotificationMaxDelay ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSENotification, urn:iso:15118:2:2013:MsgDataTypes,EVSENotificationType */ - v2gEVSENotificationType EVSENotification ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxPower,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxNumberOfPhasesInUse{0-1})', derivedBy='RESTRICTION'. */ -struct v2gProfileEntryType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryStart, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t ChargingProfileEntryStart ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxPower, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType ChargingProfileEntryMaxPower ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxNumberOfPhasesInUse, urn:iso:15118:2:2013:MsgDataTypes,maxNumPhasesType */ - int8_t ChargingProfileEntryMaxNumberOfPhasesInUse ; - unsigned int ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaxCurrent)', derivedBy='EXTENSION'. */ -struct v2gAC_EVSEChargeParameterType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))', derivedBy='EXTENSION'. */ - struct v2gAC_EVSEStatusType AC_EVSEStatus ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSENominalVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSENominalVoltage ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMaxCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMaxCurrent ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -#define v2gCertificateUpdateReqType_Id_CHARACTERS_SIZE 50 -#define v2gCertificateUpdateReqType_eMAID_CHARACTERS_SIZE 15 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,eMAIDType is 15 */ -struct v2gCertificateUpdateReqType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gCertificateUpdateReqType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - /* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct v2gCertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2013:MsgBody":eMAID, urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[v2gCertificateUpdateReqType_eMAID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } eMAID ; - /* element: "urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct v2gListOfRootCertificateIDsType ListOfRootCertificateIDs ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -#define v2gPaymentDetailsReqType_eMAID_CHARACTERS_SIZE 15 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,eMAIDType is 15 */ -struct v2gPaymentDetailsReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":eMAID, urn:iso:15118:2:2013:MsgDataTypes,eMAIDType */ - struct { - exi_string_character_t characters[v2gPaymentDetailsReqType_eMAID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } eMAID ; - /* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct v2gCertificateChainType ContractSignatureCertChain ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ -struct v2gPMaxScheduleEntryType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct v2gIntervalType TimeInterval ; - unsigned int TimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ - struct v2gRelativeTimeIntervalType RelativeTimeInterval ; - unsigned int RelativeTimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":PMax, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType PMax ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":RetryCounter{0-1})', derivedBy='EXTENSION'. */ -struct v2gCertificateUpdateResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct v2gCertificateChainType SAProvisioningCertificateChain ; - /* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct v2gCertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='privateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct v2gContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; - /* element: "urn:iso:15118:2:2013:MsgBody":DHpublickey, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct v2gDiffieHellmanPublickeyType DHpublickey ; - /* element: "urn:iso:15118:2:2013:MsgBody":eMAID, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct v2gEMAIDType eMAID ; - /* element: "urn:iso:15118:2:2013:MsgBody":RetryCounter, http://www.w3.org/2001/XMLSchema,short */ - int16_t RetryCounter ; - unsigned int RetryCounter_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID)', derivedBy='EXTENSION'. */ -struct v2gCertificateInstallationResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct v2gCertificateChainType SAProvisioningCertificateChain ; - /* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ - struct v2gCertificateChainType ContractSignatureCertChain ; - /* element: "urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='privateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct v2gContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; - /* element: "urn:iso:15118:2:2013:MsgBody":DHpublickey, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct v2gDiffieHellmanPublickeyType DHpublickey ; - /* element: "urn:iso:15118:2:2013:MsgBody":eMAID, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct v2gEMAIDType eMAID ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -struct v2gCableCheckReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct v2gDC_EVStatusType DC_EVStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define v2gServiceParameterListType_ParameterSet_ARRAY_SIZE 5 -struct v2gServiceParameterListType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ParameterSet, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2013:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct { - struct v2gParameterSetType array[v2gServiceParameterListType_ParameterSet_ARRAY_SIZE]; - uint16_t arrayLen; - } ParameterSet; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -struct v2gWeldingDetectionReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct v2gDC_EVStatusType DC_EVStatus ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2013:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgBody":ChargingComplete,"urn:iso:15118:2:2013:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2013:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ -struct v2gCurrentDemandReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":DC_EVStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ - struct v2gDC_EVStatusType DC_EVStatus ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVTargetCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVTargetCurrent ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVMaximumVoltageLimit ; - unsigned int EVMaximumVoltageLimit_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":EVMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVMaximumCurrentLimit ; - unsigned int EVMaximumCurrentLimit_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":EVMaximumPowerLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVMaximumPowerLimit ; - unsigned int EVMaximumPowerLimit_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":BulkChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int BulkChargingComplete ; - unsigned int BulkChargingComplete_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":ChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ - int ChargingComplete ; - /* element: "urn:iso:15118:2:2013:MsgBody":RemainingTimeToFullSoC, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType RemainingTimeToFullSoC ; - unsigned int RemainingTimeToFullSoC_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":RemainingTimeToBulkSoC, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType RemainingTimeToBulkSoC ; - unsigned int RemainingTimeToBulkSoC_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":EVTargetVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVTargetVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2013:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -#define v2gChargingStatusResType_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -struct v2gChargingStatusResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[v2gChargingStatusResType_EVSEID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } EVSEID ; - /* element: "urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */ - uint8_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEMaxCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMaxCurrent ; - unsigned int EVSEMaxCurrent_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ - struct v2gMeterInfoType MeterInfo ; - unsigned int MeterInfo_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */ - int ReceiptRequired ; - unsigned int ReceiptRequired_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))', derivedBy='EXTENSION'. */ - struct v2gAC_EVSEStatusType AC_EVSEStatus ; -}; - -/* 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'. */ -#define v2gReferenceType_Id_CHARACTERS_SIZE 50 -#define v2gReferenceType_URI_CHARACTERS_SIZE 50 -#define v2gReferenceType_Type_CHARACTERS_SIZE 50 -#define v2gReferenceType_DigestValue_BYTES_SIZE 350 -struct v2gReferenceType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gReferenceType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[v2gReferenceType_URI_CHARACTERS_SIZE]; - uint16_t charactersLen; - } URI ; - unsigned int URI_isUsed:1; - /* attribute: Type {http://www.w3.org/2001/XMLSchema,anyURI} */ - struct { - exi_string_character_t characters[v2gReferenceType_Type_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Type ; - unsigned int Type_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Transforms, 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'. */ - struct v2gTransformsType Transforms ; - unsigned int Transforms_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestMethod, 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'. */ - struct v2gDigestMethodType DigestMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ - struct { - uint8_t bytes[v2gReferenceType_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":costKind,"urn:iso:15118:2:2013:MsgDataTypes":amount,"urn:iso:15118:2:2013:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ -struct v2gCostType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":costKind, urn:iso:15118:2:2013:MsgDataTypes,costKindType */ - v2gcostKindType costKind ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":amount, http://www.w3.org/2001/XMLSchema,unsignedInt */ - uint32_t amount ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":amountMultiplier, urn:iso:15118:2:2013:MsgDataTypes,unitMultiplierType */ - int8_t amountMultiplier ; - unsigned int amountMultiplier_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -struct v2gAuthorizationResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */ - v2gEVSEProcessingType EVSEProcessing ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval)', derivedBy='RESTRICTION'. */ -struct v2gEntryType { - /* substitutionGroup */ -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - union { -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - /* element: "urn:iso:15118:2:2013:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct v2gIntervalType TimeInterval ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ - struct v2gRelativeTimeIntervalType RelativeTimeInterval ; -#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES - }; -#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int TimeInterval_isUsed:1; - unsigned int RelativeTimeInterval_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargeServiceType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService),("urn:iso:15118:2:2013:MsgDataTypes":SupportedEnergyTransferMode))', derivedBy='EXTENSION'. */ -#define v2gChargeServiceType_ServiceName_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */ -#define v2gChargeServiceType_ServiceScope_CHARACTERS_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -struct v2gChargeServiceType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceName, urn:iso:15118:2:2013:MsgDataTypes,serviceNameType */ - struct { - exi_string_character_t characters[v2gChargeServiceType_ServiceName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceName ; - unsigned int ServiceName_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory, urn:iso:15118:2:2013:MsgDataTypes,serviceCategoryType */ - v2gserviceCategoryType ServiceCategory ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ServiceScope, urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType */ - struct { - exi_string_character_t characters[v2gChargeServiceType_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - unsigned int ServiceScope_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":FreeService, http://www.w3.org/2001/XMLSchema,boolean */ - int FreeService ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SupportedEnergyTransferMode, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SupportedEnergyTransferModeType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode{1-6})', derivedBy='RESTRICTION'. */ - struct v2gSupportedEnergyTransferModeType SupportedEnergyTransferMode ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":ServiceID,"urn:iso:15118:2:2013:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ -struct v2gServiceDetailResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceID, urn:iso:15118:2:2013:MsgDataTypes,serviceIDType */ - uint16_t ServiceID ; - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceParameterList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct v2gServiceParameterListType ServiceParameterList ; - unsigned int ServiceParameterList_isUsed:1; -}; - /* 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'. */ #define v2gRetrievalMethodType_URI_CHARACTERS_SIZE 50 #define v2gRetrievalMethodType_Type_CHARACTERS_SIZE 50 @@ -1382,188 +937,750 @@ struct v2gRetrievalMethodType { unsigned int Transforms_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ -struct v2gDC_EVSEStatusType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedShort */ - uint16_t NotificationMaxDelay ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSENotification, urn:iso:15118:2:2013:MsgDataTypes,EVSENotificationType */ - v2gEVSENotificationType EVSENotification ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus, urn:iso:15118:2:2013:MsgDataTypes,isolationLevelType */ - v2gisolationLevelType EVSEIsolationStatus ; - unsigned int EVSEIsolationStatus_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode, urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusCodeType */ - v2gDC_EVSEStatusCodeType EVSEStatusCode ; +/* 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'. */ +#define v2gServiceListType_Service_ARRAY_SIZE 5 +struct v2gServiceListType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Service, 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'. */ + struct { + struct v2gServiceType array[v2gServiceListType_Service_ARRAY_SIZE]; + uint16_t arrayLen; + } Service; }; -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -struct v2gCableCheckResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ +/* 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'. */ +struct v2gDC_EVBidirectionalParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ + uint32_t DepartureTime ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumChargePower ; + unsigned int EVMaximumChargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargePower, 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'. */ + struct v2gPhysicalValueType EVMinimumChargePower ; + unsigned int EVMinimumChargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMinimumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVMaximumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + unsigned int EVTargetEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t CurrentSOC ; + unsigned int CurrentSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":TargetSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t TargetSOC ; + unsigned int TargetSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":BulkSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t BulkSOC ; + unsigned int BulkSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumDischargePower ; + unsigned int EVMaximumDischargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargePower, 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'. */ + struct v2gPhysicalValueType EVMinimumDischargePower ; + unsigned int EVMinimumDischargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumDischargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMinimumDischargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumVoltage, 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'. */ + struct v2gPhysicalValueType EVMinimumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MinimumSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t MinimumSOC ; + unsigned int MinimumSOC_isUsed:1; +}; + +/* 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'. */ +#define v2gSelectedServiceListType_SelectedService_ARRAY_SIZE 5 +struct v2gSelectedServiceListType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SelectedService, 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'. */ + struct { + struct v2gSelectedServiceType array[v2gSelectedServiceListType_SelectedService_ARRAY_SIZE]; + uint16_t arrayLen; + } SelectedService; +}; + +typedef enum { + v2gelectricalChargingDeviceStatusType_Connected = 0, + v2gelectricalChargingDeviceStatusType_Disconnected = 1 +} v2gelectricalChargingDeviceStatusType; + +/* 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'. */ +struct v2gRelativeTimeIntervalType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":start, urn:iso:15118:2:2016:MsgDataTypes,#AnonType_startRelativeTimeIntervalType */ + uint32_t start ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":duration, urn:iso:15118:2:2016:MsgDataTypes,#AnonType_durationRelativeTimeIntervalType */ + uint32_t duration ; + unsigned int duration_isUsed:1; +}; + +/* 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'. */ +#define v2gContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE 50 +#define v2gContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE 350 +struct v2gContractSignatureEncryptedPrivateKeyType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + /* simple content: urn:iso:15118:2:2016:MsgDataTypes,encryptedPrivateKeyType */ + struct { + uint8_t bytes[v2gContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE]; + uint16_t bytesLen; + } CONTENT ; +}; + +typedef enum { + v2gEVSEProcessingType_Finished = 0, + v2gEVSEProcessingType_Ongoing = 1, + v2gEVSEProcessingType_Ongoing_WaitingForCustomerInteraction = 2 +} v2gEVSEProcessingType; + +/* 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'. */ +#define v2gPaymentDetailsReqType_eMAID_CHARACTERS_SIZE 15 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,eMAIDType is 15 */ +struct v2gPaymentDetailsReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":eMAID, urn:iso:15118:2:2016:MsgDataTypes,eMAIDType */ + struct { + exi_string_character_t characters[v2gPaymentDetailsReqType_eMAID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } eMAID ; + /* element: "urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain, 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'. */ + struct v2gCertificateChainType ContractSignatureCertChain ; +}; + +/* 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'. */ +#define v2gMagneticVectorSetupType_GAID_CHARACTERS_SIZE 50 +struct v2gMagneticVectorSetupType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":GAID, http://www.w3.org/2001/XMLSchema,ID */ + struct { + exi_string_character_t characters[v2gMagneticVectorSetupType_GAID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } GAID ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":FrequencyChannel, http://www.w3.org/2001/XMLSchema,unsignedInt */ + uint32_t FrequencyChannel ; +}; + +/* 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'. */ +struct v2gDC_EVChargeParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ + uint32_t DepartureTime ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumChargePower ; + unsigned int EVMaximumChargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargePower, 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'. */ + struct v2gPhysicalValueType EVMinimumChargePower ; + unsigned int EVMinimumChargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMinimumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVMaximumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + unsigned int EVTargetEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t CurrentSOC ; + unsigned int CurrentSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":TargetSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t TargetSOC ; + unsigned int TargetSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":BulkSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t BulkSOC ; + unsigned int BulkSOC_isUsed:1; +}; + +/* 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'. */ +struct v2gServiceDetailReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":ServiceID, urn:iso:15118:2:2016:MsgDataTypes,serviceIDType */ + uint16_t ServiceID ; +}; + +/* 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'. */ +#define v2gPaymentOptionListType_PaymentOption_ARRAY_SIZE 2 +struct v2gPaymentOptionListType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":PaymentOption, urn:iso:15118:2:2016:MsgDataTypes,paymentOptionType */ + struct { + v2gpaymentOptionType array[v2gPaymentOptionListType_PaymentOption_ARRAY_SIZE]; + uint16_t arrayLen; + } PaymentOption; +}; + +typedef enum { + v2gchargingSessionType_Terminate = 0, + v2gchargingSessionType_Pause = 1 +} v2gchargingSessionType; + +/* 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'. */ +struct v2gWPT_EVChargeParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ + uint32_t DepartureTime ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumPower, 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'. */ + struct v2gPhysicalValueType EVMaximumPower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumPower, 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'. */ + struct v2gPhysicalValueType EVMinimumPower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + unsigned int EVTargetEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; +}; + +typedef enum { + v2gchargeProgressType_Start = 0, + v2gchargeProgressType_Stop = 1, + v2gchargeProgressType_Renegotiate = 2 +} v2gchargeProgressType; + +/* 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'. */ +#define v2gSessionSetupReqType_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evccIDType is 6 */ +struct v2gSessionSetupReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVCCID, urn:iso:15118:2:2016:MsgDataTypes,evccIDType */ + struct { + uint8_t bytes[v2gSessionSetupReqType_EVCCID_BYTES_SIZE]; + uint16_t bytesLen; + } EVCCID ; +}; + +typedef enum { + v2gEVSENotificationType_StopCharging = 0, + v2gEVSENotificationType_ReNegotiation = 1 +} v2gEVSENotificationType; + +/* 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'. */ +#define v2gDigestMethodType_Algorithm_CHARACTERS_SIZE 65 +#define v2gDigestMethodType_ANY_CHARACTERS_SIZE 50 +struct v2gDigestMethodType { + /* attribute: Algorithm {http://www.w3.org/2001/XMLSchema,anyURI} */ + struct { + exi_string_character_t characters[v2gDigestMethodType_Algorithm_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Algorithm ; + /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ + struct { + exi_string_character_t characters[v2gDigestMethodType_ANY_CHARACTERS_SIZE]; + uint16_t charactersLen; + } ANY ; + unsigned int ANY_isUsed:1; +}; + +/* 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'. */ +#define v2gPMaxScheduleEntryType_PMax_ARRAY_SIZE 3 +struct v2gPMaxScheduleEntryType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval, 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'. */ + struct v2gRelativeTimeIntervalType RelativeTimeInterval ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":PMax, 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'. */ + struct { + struct v2gPhysicalValueType array[v2gPMaxScheduleEntryType_PMax_ARRAY_SIZE]; + uint16_t arrayLen; + } PMax; +}; + +/* 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'. */ +struct v2gPreChargeReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetVoltage, 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'. */ + struct v2gPhysicalValueType EVTargetVoltage ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetCurrent, 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'. */ + struct v2gPhysicalValueType EVTargetCurrent ; +}; + +/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LF_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'. */ +struct v2gLF_EVSEFinePositioningParametersType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t NumberOfSignalPackages ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList, 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'. */ + struct v2gSensorPackageListType SensorPackageList ; +}; + +/* 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'. */ +#define v2gSignaturePropertiesType_Id_CHARACTERS_SIZE 50 +#define v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE 1 +struct v2gSignaturePropertiesType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gSignaturePropertiesType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + unsigned int Id_isUsed:1; + /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureProperty, 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'. */ + struct { + struct v2gSignaturePropertyType array[v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE]; + uint16_t arrayLen; + } SignatureProperty; +}; + +/* 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'. */ +#define v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE 5 +struct v2gMagneticVectorSetupListType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetup, 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'. */ + struct { + struct v2gMagneticVectorSetupType array[v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE]; + uint16_t arrayLen; + } MagneticVectorSetup; +}; + +/* 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'. */ +struct v2gAC_EVSEBidirectionalParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSENominalVoltage, 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'. */ + struct v2gPhysicalValueType EVSENominalVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency, 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'. */ + struct v2gPhysicalValueType EVSENominalFrequency ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMaximumDischargeCurrent ; +}; + +/* 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'. */ +struct v2gEVSEStatusType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":NotificationMaxDelay, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t NotificationMaxDelay ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSENotification, urn:iso:15118:2:2016:MsgDataTypes,EVSENotificationType */ + v2gEVSENotificationType EVSENotification ; +}; + +/* 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'. */ +struct v2gAC_EVBidirectionalParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ + uint32_t DepartureTime ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumChargePower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMinimumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + unsigned int EVTargetEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVMaximumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumDischargePower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumDischargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMinimumDischargeCurrent ; +}; + +/* 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'. */ +struct v2gMV_EVSEFinePositioningSetupParametersType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":FrequencyChannel, http://www.w3.org/2001/XMLSchema,unsignedInt */ + uint32_t FrequencyChannel ; + unsigned int FrequencyChannel_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetupList, 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'. */ + struct v2gMagneticVectorSetupListType MagneticVectorSetupList ; + unsigned int MagneticVectorSetupList_isUsed:1; +}; + +/* 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'. */ +struct v2gSensorType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorID, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t SensorID ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorPosition, 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'. */ + struct v2gCartesianCoordinatesType SensorPosition ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorOrientation, 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'. */ + struct v2gCartesianCoordinatesType SensorOrientation ; +}; + +/* 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'. */ +struct v2gAC_EVChargeParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DepartureTime, http://www.w3.org/2001/XMLSchema,unsignedInt */ + uint32_t DepartureTime ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumChargePower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMinimumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + unsigned int EVTargetEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVMaximumVoltage ; +}; + +/* Complex type name='urn:iso:15118:2:2016:MsgBody,EVSEErrorInformationType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ErrorCode)', derivedBy='EXTENSION'. */ +struct v2gEVSEErrorInformationType { + /* element: "urn:iso:15118:2:2016:MsgBody":ErrorCode, urn:iso:15118:2:2016:MsgDataTypes,EVSEErrorCodeType */ + v2gEVSEErrorCodeType ErrorCode ; +}; + +/* 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'. */ +struct v2gWPT_EVSEChargeParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumPower, 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'. */ + struct v2gPhysicalValueType EVSEMaximumPower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumPower, 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'. */ + struct v2gPhysicalValueType EVSEMinimumPower ; +}; + +/* 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'. */ +struct v2gDisplayParametersType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":CurrentRange, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t CurrentRange ; + unsigned int CurrentRange_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t CurrentSOC ; + unsigned int CurrentSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":TargetSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t TargetSOC ; + unsigned int TargetSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":BulkSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t BulkSOC ; + unsigned int BulkSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MinimumSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t MinimumSOC ; + unsigned int MinimumSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ChargingPerformance, 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'. */ + struct v2gPhysicalValueType ChargingPerformance ; + unsigned int ChargingPerformance_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToTargetSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t RemainingTimeToTargetSOC ; + unsigned int RemainingTimeToTargetSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToBulkSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t RemainingTimeToBulkSOC ; + unsigned int RemainingTimeToBulkSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToMinimumSOC, urn:iso:15118:2:2016:MsgDataTypes,percentValueType */ + int8_t RemainingTimeToMinimumSOC ; + unsigned int RemainingTimeToMinimumSOC_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ + int ChargingComplete ; + unsigned int ChargingComplete_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":BulkChargingComplete, http://www.w3.org/2001/XMLSchema,boolean */ + int BulkChargingComplete ; + unsigned int BulkChargingComplete_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":InletHot, http://www.w3.org/2001/XMLSchema,boolean */ + int InletHot ; + unsigned int InletHot_isUsed:1; +}; + +/* 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'. */ +struct v2gSystemStatusReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":OperationMode, urn:iso:15118:2:2016:MsgDataTypes,operationModeType */ + v2goperationModeType OperationMode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ + v2gmechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; +}; + +/* 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'. */ +struct v2gCostType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":costKind, urn:iso:15118:2:2016:MsgDataTypes,costKindType */ + v2gcostKindType costKind ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":amount, 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'. */ + struct v2gPhysicalValueType amount ; +}; + +/* 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'. */ +struct v2gDC_BidirectionalControlReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":DisplayParameters, 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'. */ + struct v2gDisplayParametersType DisplayParameters ; + unsigned int DisplayParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetCurrent, 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'. */ + struct v2gPhysicalValueType EVTargetCurrent ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetVoltage, 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'. */ + struct v2gPhysicalValueType EVTargetVoltage ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVMaximumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumVoltage, 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'. */ + struct v2gPhysicalValueType EVMinimumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumDischargeCurrent ; + unsigned int EVMaximumDischargeCurrent_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumChargePower ; + unsigned int EVMaximumChargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumDischargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumDischargePower ; + unsigned int EVMaximumDischargePower_isUsed:1; +}; + +/* 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'. */ +#define v2gAC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ +struct v2gAC_BidirectionalControlResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ - struct v2gDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */ + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVSEProcessing ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSETargetPower, 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'. */ + struct v2gPhysicalValueType EVSETargetPower ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSETargetReactivePower, 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'. */ + struct v2gPhysicalValueType EVSETargetReactivePower ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ + struct { + exi_string_character_t characters[v2gAC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } EVSEID ; + /* element: "urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ + uint8_t SAScheduleTupleID ; + unsigned int SAScheduleTupleID_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":MeterInfo, 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'. */ + struct v2gMeterInfoType MeterInfo ; + unsigned int MeterInfo_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */ + int ReceiptRequired ; + unsigned int ReceiptRequired_isUsed:1; +}; + +/* 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'. */ +struct v2gSystemStatusResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":OperationMode, urn:iso:15118:2:2016:MsgDataTypes,operationModeType */ + v2goperationModeType OperationMode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ + v2gmechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; +}; + +/* 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'. */ +struct v2gCertificateUpdateResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":SAProvisioningCertificateChain, 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'. */ + struct v2gCertificateChainType SAProvisioningCertificateChain ; + /* element: "urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain, 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'. */ + struct v2gCertificateChainType ContractSignatureCertChain ; + /* element: "urn:iso:15118:2:2016:MsgBody":ContractSignatureEncryptedPrivateKey, 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'. */ + struct v2gContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; + /* element: "urn:iso:15118:2:2016:MsgBody":DHpublickey, 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'. */ + struct v2gDiffieHellmanPublickeyType DHpublickey ; + /* element: "urn:iso:15118:2:2016:MsgBody":eMAID, 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'. */ + struct v2gEMAIDType eMAID ; + /* element: "urn:iso:15118:2:2016:MsgBody":RetryCounter, http://www.w3.org/2001/XMLSchema,short */ + int16_t RetryCounter ; + unsigned int RetryCounter_isUsed:1; +}; + +/* 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'. */ +#define v2gParameterSetType_Parameter_ARRAY_SIZE 5 +struct v2gParameterSetType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ParameterSetID, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t ParameterSetID ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Parameter, 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'. */ + struct { + struct v2gParameterType array[v2gParameterSetType_Parameter_ARRAY_SIZE]; + uint16_t arrayLen; + } Parameter; +}; + +/* 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'. */ +#define v2gMagneticVectorType_GAID_CHARACTERS_SIZE 50 +struct v2gMagneticVectorType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":GAID, http://www.w3.org/2001/XMLSchema,ID */ + struct { + exi_string_character_t characters[v2gMagneticVectorType_GAID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } GAID ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Distance, 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'. */ + struct v2gPhysicalValueType Distance ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":AngleGAtoVA, 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'. */ + struct v2gPhysicalValueType AngleGAtoVA ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":RotationVAtoGA, 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'. */ + struct v2gPhysicalValueType RotationVAtoGA ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":FODStatus, urn:iso:15118:2:2016:MsgDataTypes,FODStatusType */ + v2gFODStatusType FODStatus ; +}; + +/* 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'. */ +struct v2gPreChargeResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage, 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'. */ + struct v2gPhysicalValueType EVSEPresentVoltage ; +}; + +/* 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'. */ +#define v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE 3 +struct v2gMinimumPMaxRequestType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MinimumPMaxScheduleEntry, 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'. */ + struct { + struct v2gPMaxScheduleEntryType array[v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE]; + uint16_t arrayLen; + } MinimumPMaxScheduleEntry; +}; + +/* 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'. */ +struct v2gVehicleCheckInReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVCheckInStatus, urn:iso:15118:2:2016:MsgDataTypes,EVCheckInStatusType */ + v2gEVCheckInStatusType EVCheckInStatus ; + /* element: "urn:iso:15118:2:2016:MsgBody":ParkingMethod, urn:iso:15118:2:2016:MsgDataTypes,parkingMethodType */ + v2gparkingMethodType ParkingMethod ; + unsigned int ParkingMethod_isUsed:1; +}; + +/* 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'. */ +struct v2gPowerDeliveryResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ v2gEVSEProcessingType EVSEProcessing ; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ +/* 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'. */ +struct v2gV2GResponseType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; +}; + +/* 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'. */ +struct v2gCableCheckResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVSEProcessing ; +}; + +/* 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'. */ +#define v2gChargingProfileType_ProfileEntry_ARRAY_SIZE 5 +struct v2gChargingProfileType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ProfileEntry, 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'. */ + struct { + struct v2gPMaxScheduleEntryType array[v2gChargingProfileType_ProfileEntry_ARRAY_SIZE]; + uint16_t arrayLen; + } ProfileEntry; +}; + +/* 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'. */ +struct v2gServiceDiscoveryResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":PaymentOptionList, 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'. */ + struct v2gPaymentOptionListType PaymentOptionList ; + /* element: "urn:iso:15118:2:2016:MsgBody":EnergyTransferServiceList, 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'. */ + struct v2gServiceListType EnergyTransferServiceList ; + /* element: "urn:iso:15118:2:2016:MsgBody":VASList, 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'. */ + struct v2gServiceListType VASList ; + unsigned int VASList_isUsed:1; +}; + +/* 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'. */ #define v2gPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE 5 struct v2gPMaxScheduleType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ + /* element: "urn:iso:15118:2:2016:MsgDataTypes":PMaxScheduleEntry, 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'. */ struct { struct v2gPMaxScheduleEntryType array[v2gPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE]; uint16_t arrayLen; } PMaxScheduleEntry; }; -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -struct v2gPowerDeliveryResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification)', derivedBy='RESTRICTION'. */ - struct v2gEVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))', derivedBy='EXTENSION'. */ - struct v2gAC_EVSEStatusType AC_EVSEStatus ; - unsigned int AC_EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ - struct v2gDC_EVSEStatusType DC_EVSEStatus ; - unsigned int DC_EVSEStatus_isUsed:1; +/* 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'. */ +struct v2gDC_EVSEBidirectionalParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVSEMaximumChargePower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMinimumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVSEMaximumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumVoltage, 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'. */ + struct v2gPhysicalValueType EVSEMinimumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSECurrentRegulationTolerance, 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'. */ + struct v2gPhysicalValueType EVSECurrentRegulationTolerance ; + unsigned int EVSECurrentRegulationTolerance_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEPeakCurrentRipple, 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'. */ + struct v2gPhysicalValueType EVSEPeakCurrentRipple ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyToBeDelivered, 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'. */ + struct v2gPhysicalValueType EVSEEnergyToBeDelivered ; + unsigned int EVSEEnergyToBeDelivered_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargePower, 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'. */ + struct v2gPhysicalValueType EVSEMaximumDischargePower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMaximumDischargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMinimumDischargeCurrent ; }; -/* 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'. */ -#define v2gSignedInfoType_Id_CHARACTERS_SIZE 50 -#define v2gSignedInfoType_Reference_ARRAY_SIZE 1 -struct v2gSignedInfoType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gSignedInfoType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":CanonicalizationMethod, 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'. */ - struct v2gCanonicalizationMethodType CanonicalizationMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureMethod, 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'. */ - struct v2gSignatureMethodType SignatureMethod ; - /* element: "http://www.w3.org/2000/09/xmldsig#":Reference, 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'. */ - struct { - struct v2gReferenceType array[v2gSignedInfoType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; +/* 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'. */ +struct v2gDC_EVSEChargeParameterType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVSEMaximumChargePower ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMinimumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVSEMaximumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumVoltage, 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'. */ + struct v2gPhysicalValueType EVSEMinimumVoltage ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSECurrentRegulationTolerance, 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'. */ + struct v2gPhysicalValueType EVSECurrentRegulationTolerance ; + unsigned int EVSECurrentRegulationTolerance_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEPeakCurrentRipple, 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'. */ + struct v2gPhysicalValueType EVSEPeakCurrentRipple ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyToBeDelivered, 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'. */ + struct v2gPhysicalValueType EVSEEnergyToBeDelivered ; + unsigned int EVSEEnergyToBeDelivered_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -struct v2gMeteringReceiptResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification)', derivedBy='RESTRICTION'. */ - struct v2gEVSEStatusType EVSEStatus ; - unsigned int EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))', derivedBy='EXTENSION'. */ - struct v2gAC_EVSEStatusType AC_EVSEStatus ; - unsigned int AC_EVSEStatus_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ - struct v2gDC_EVSEStatusType DC_EVSEStatus ; - unsigned int DC_EVSEStatus_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2013:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2013:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1})', derivedBy='EXTENSION'. */ -#define v2gCurrentDemandResType_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ -struct v2gCurrentDemandResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ - struct v2gDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEPresentVoltage ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEPresentCurrent, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEPresentCurrent ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSECurrentLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ - int EVSECurrentLimitAchieved ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEVoltageLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ - int EVSEVoltageLimitAchieved ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEPowerLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ - int EVSEPowerLimitAchieved ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMaximumVoltageLimit ; - unsigned int EVSEMaximumVoltageLimit_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMaximumCurrentLimit ; - unsigned int EVSEMaximumCurrentLimit_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEMaximumPowerLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMaximumPowerLimit ; - unsigned int EVSEMaximumPowerLimit_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEID, urn:iso:15118:2:2013:MsgDataTypes,evseIDType */ - struct { - exi_string_character_t characters[v2gCurrentDemandResType_EVSEID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } EVSEID ; - /* element: "urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */ - uint8_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2013:MsgBody":MeterInfo, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ - struct v2gMeterInfoType MeterInfo ; - unsigned int MeterInfo_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */ - int ReceiptRequired ; - unsigned int ReceiptRequired_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -struct v2gPreChargeResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ - struct v2gDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEPresentVoltage ; -}; - -/* 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'. */ -#define v2gManifestType_Id_CHARACTERS_SIZE 50 -#define v2gManifestType_Reference_ARRAY_SIZE 1 -struct v2gManifestType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gManifestType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "http://www.w3.org/2000/09/xmldsig#":Reference, 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'. */ - struct { - struct v2gReferenceType array[v2gManifestType_Reference_ARRAY_SIZE]; - uint16_t arrayLen; - } Reference; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -struct v2gWeldingDetectionResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ - v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ - struct v2gDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEPresentVoltage ; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":startValue,"urn:iso:15118:2:2013:MsgDataTypes":Cost{1-3})', derivedBy='RESTRICTION'. */ -#define v2gConsumptionCostType_Cost_ARRAY_SIZE 3 -struct v2gConsumptionCostType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":startValue, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType startValue ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":Cost, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":costKind,"urn:iso:15118:2:2013:MsgDataTypes":amount,"urn:iso:15118:2:2013:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ - struct { - struct v2gCostType array[v2gConsumptionCostType_Cost_ARRAY_SIZE]; - uint16_t arrayLen; - } Cost; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define v2gChargingProfileType_ProfileEntry_ARRAY_SIZE 5 -struct v2gChargingProfileType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ProfileEntry, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxPower,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxNumberOfPhasesInUse{0-1})', derivedBy='RESTRICTION'. */ - struct { - struct v2gProfileEntryType array[v2gChargingProfileType_ProfileEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } ProfileEntry; +/* 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'. */ +struct v2gConnectChargingDeviceReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ + v2gelectricalChargingDeviceStatusType EVElectricalChargingDeviceStatus ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ + v2gmechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; }; /* 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'. */ @@ -1577,6 +1694,7 @@ struct v2gChargingProfileType { #define v2gKeyInfoType_SPKIData_ARRAY_SIZE 1 #define v2gKeyInfoType_MgmtData_CHARACTERS_SIZE 50 #define v2gKeyInfoType_MgmtData_ARRAY_SIZE 1 +#define v2gKeyInfoType_ANY_CHARACTERS_SIZE 50 struct v2gKeyInfoType { /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ struct { @@ -1625,43 +1743,802 @@ struct v2gKeyInfoType { } array[v2gKeyInfoType_MgmtData_ARRAY_SIZE]; uint16_t arrayLen; } MgmtData; + /* element: WC[##other:"http://www.w3.org/2000/09/xmldsig#"] */ + struct { + exi_string_character_t characters[v2gKeyInfoType_ANY_CHARACTERS_SIZE]; + uint16_t charactersLen; + } ANY ; + unsigned int ANY_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":PaymentOptionList,"urn:iso:15118:2:2013:MsgBody":ChargeService,"urn:iso:15118:2:2013:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ -struct v2gServiceDiscoveryResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ +/* 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'. */ +struct v2gWeldingDetectionResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":PaymentOptionList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PaymentOptionListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":PaymentOption{1-2})', derivedBy='RESTRICTION'. */ - struct v2gPaymentOptionListType PaymentOptionList ; - /* element: "urn:iso:15118:2:2013:MsgBody":ChargeService, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargeServiceType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService),("urn:iso:15118:2:2013:MsgDataTypes":SupportedEnergyTransferMode))', derivedBy='EXTENSION'. */ - struct v2gChargeServiceType ChargeService ; - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Service{1-8})', derivedBy='RESTRICTION'. */ - struct v2gServiceListType ServiceList ; - unsigned int ServiceList_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage, 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'. */ + struct v2gPhysicalValueType EVSEPresentVoltage ; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumPowerLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2013:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -struct v2gDC_EVSEChargeParameterType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ - struct v2gDC_EVSEStatusType DC_EVSEStatus ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMaximumCurrentLimit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumPowerLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMaximumPowerLimit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMaximumVoltageLimit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumCurrentLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMinimumCurrentLimit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumVoltageLimit, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEMinimumVoltageLimit ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSECurrentRegulationTolerance, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSECurrentRegulationTolerance ; - unsigned int EVSECurrentRegulationTolerance_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEPeakCurrentRipple, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEPeakCurrentRipple ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEEnergyToBeDelivered, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ - struct v2gPhysicalValueType EVSEEnergyToBeDelivered ; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; +/* 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'. */ +struct v2gPaymentServiceSelectionReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":SelectedPaymentOption, urn:iso:15118:2:2016:MsgDataTypes,paymentOptionType */ + v2gpaymentOptionType SelectedPaymentOption ; + /* element: "urn:iso:15118:2:2016:MsgBody":SelectedEnergyTransferService, 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'. */ + struct v2gSelectedServiceType SelectedEnergyTransferService ; + /* element: "urn:iso:15118:2:2016:MsgBody":SelectedVASList, 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'. */ + struct v2gSelectedServiceListType SelectedVASList ; + unsigned int SelectedVASList_isUsed:1; +}; + +/* 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'. */ +#define v2gSensorListType_Sensor_ARRAY_SIZE 5 +struct v2gSensorListType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Sensor, 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'. */ + struct { + struct v2gSensorType array[v2gSensorListType_Sensor_ARRAY_SIZE]; + uint16_t arrayLen; + } Sensor; +}; + +/* 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'. */ +struct v2gPairingReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVProcessing ; + /* element: "urn:iso:15118:2:2016:MsgBody":PairingParameters, 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'. */ + struct v2gParameterSetType PairingParameters ; + unsigned int PairingParameters_isUsed:1; +}; + +/* 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'. */ +struct v2gDisconnectChargingDeviceReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ + v2gelectricalChargingDeviceStatusType EVElectricalChargingDeviceStatus ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ + v2gmechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; +}; + +/* 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'. */ +struct v2gConnectChargingDeviceResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVSEProcessing ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ + v2gelectricalChargingDeviceStatusType EVSEElectricalChargingDeviceStatus ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ + v2gmechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; +}; + +/* 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'. */ +struct v2gPowerDemandReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":DisplayParameters, 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'. */ + struct v2gDisplayParametersType DisplayParameters ; + unsigned int DisplayParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetPower, 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'. */ + struct v2gPhysicalValueType EVTargetPower ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVInputPower, 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'. */ + struct v2gPhysicalValueType EVInputPower ; + /* element: "urn:iso:15118:2:2016:MsgBody":PowerDemandParameters, 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'. */ + struct v2gParameterSetType PowerDemandParameters ; + unsigned int PowerDemandParameters_isUsed:1; +}; + +/* 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'. */ +struct v2gLFA_EVFinePositioningParametersType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t NumberOfSignalPackages ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList, 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'. */ + struct v2gSensorPackageListType SensorPackageList ; +}; + +/* 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'. */ +struct v2gPowerDeliveryReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":ChargeProgress, urn:iso:15118:2:2016:MsgDataTypes,chargeProgressType */ + v2gchargeProgressType ChargeProgress ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVOperation, urn:iso:15118:2:2016:MsgDataTypes,EVOperationType */ + v2gEVOperationType EVOperation ; + unsigned int EVOperation_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ + uint8_t SAScheduleTupleID ; + unsigned int SAScheduleTupleID_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":ChargingProfile, 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'. */ + struct v2gChargingProfileType ChargingProfile ; + unsigned int ChargingProfile_isUsed:1; +}; + +/* 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'. */ +struct v2gGeneric_EVSEFinePositioningParametersType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":GenericParameters, 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'. */ + struct v2gParameterSetType GenericParameters ; +}; + +/* 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'. */ +#define v2gPaymentDetailsResType_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2016:MsgDataTypes,genChallengeType is 16 */ +struct v2gPaymentDetailsResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":GenChallenge, urn:iso:15118:2:2016:MsgDataTypes,genChallengeType */ + struct { + uint8_t bytes[v2gPaymentDetailsResType_GenChallenge_BYTES_SIZE]; + uint16_t bytesLen; + } GenChallenge ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSETimeStamp, http://www.w3.org/2001/XMLSchema,long */ + int64_t EVSETimeStamp ; +}; + +/* 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'. */ +struct v2gAC_BidirectionalControlReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":DisplayParameters, 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'. */ + struct v2gDisplayParametersType DisplayParameters ; + unsigned int DisplayParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVOperation, urn:iso:15118:2:2016:MsgDataTypes,EVOperationType */ + v2gEVOperationType EVOperation ; + unsigned int EVOperation_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumChargePower ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumDischargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumDischargePower ; + unsigned int EVMaximumDischargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumDischargeCurrent ; + unsigned int EVMaximumDischargeCurrent_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMinimumChargeCurrent ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMinimumDischargeCurrent ; + unsigned int EVMinimumDischargeCurrent_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVPresentActivePower, 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'. */ + struct v2gPhysicalValueType EVPresentActivePower ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVPresentReactivePower, 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'. */ + struct v2gPhysicalValueType EVPresentReactivePower ; +}; + +/* 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'. */ +struct v2gSessionStopReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":ChargingSession, urn:iso:15118:2:2016:MsgDataTypes,chargingSessionType */ + v2gchargingSessionType ChargingSession ; +}; + +/* 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'. */ +struct v2gEntryType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval, 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'. */ + struct v2gRelativeTimeIntervalType RelativeTimeInterval ; +}; + +/* 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'. */ +#define v2gPowerDemandResType_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ +struct v2gPowerDemandResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEOutputPower, 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'. */ + struct v2gPhysicalValueType EVSEOutputPower ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ + struct { + exi_string_character_t characters[v2gPowerDemandResType_EVSEID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } EVSEID ; + /* element: "urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ + uint8_t SAScheduleTupleID ; + unsigned int SAScheduleTupleID_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":MeterInfo, 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'. */ + struct v2gMeterInfoType MeterInfo ; + unsigned int MeterInfo_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */ + int ReceiptRequired ; + unsigned int ReceiptRequired_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":PowerDemandParameters, 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'. */ + struct v2gParameterSetType PowerDemandParameters ; + unsigned int PowerDemandParameters_isUsed:1; +}; + +/* 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'. */ +#define v2gSessionSetupResType_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ +struct v2gSessionSetupResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ + struct { + exi_string_character_t characters[v2gSessionSetupResType_EVSEID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } EVSEID ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSETimeStamp, http://www.w3.org/2001/XMLSchema,long */ + int64_t EVSETimeStamp ; + unsigned int EVSETimeStamp_isUsed:1; +}; + +/* 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'. */ +struct v2gVehicleCheckOutResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSECheckOutStatus, urn:iso:15118:2:2016:MsgDataTypes,EVCheckOutStatusType */ + v2gEVCheckOutStatusType EVSECheckOutStatus ; +}; + +/* 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'. */ +struct v2gCurrentDemandReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":DisplayParameters, 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'. */ + struct v2gDisplayParametersType DisplayParameters ; + unsigned int DisplayParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetCurrent, 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'. */ + struct v2gPhysicalValueType EVTargetCurrent ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetVoltage, 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'. */ + struct v2gPhysicalValueType EVTargetVoltage ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumCurrent ; + unsigned int EVMaximumCurrent_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumPower, 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'. */ + struct v2gPhysicalValueType EVMaximumPower ; + unsigned int EVMaximumPower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVMaximumVoltage ; + unsigned int EVMaximumVoltage_isUsed:1; +}; + +/* 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'. */ +struct v2gDisconnectChargingDeviceResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVSEProcessing ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,electricalChargingDeviceStatusType */ + v2gelectricalChargingDeviceStatusType EVSEElectricalChargingDeviceStatus ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus, urn:iso:15118:2:2016:MsgDataTypes,mechanicalChargingDeviceStatusType */ + v2gmechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; +}; + +/* 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'. */ +#define v2gChargingStatusResType_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ +struct v2gChargingStatusResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ + struct { + exi_string_character_t characters[v2gChargingStatusResType_EVSEID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } EVSEID ; + /* element: "urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ + uint8_t SAScheduleTupleID ; + unsigned int SAScheduleTupleID_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":MeterInfo, 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'. */ + struct v2gMeterInfoType MeterInfo ; + unsigned int MeterInfo_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */ + int ReceiptRequired ; + unsigned int ReceiptRequired_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSETargetPower, 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'. */ + struct v2gPhysicalValueType EVSETargetPower ; + unsigned int EVSETargetPower_isUsed:1; +}; + +/* 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'. */ +#define v2gReferenceType_Id_CHARACTERS_SIZE 50 +#define v2gReferenceType_URI_CHARACTERS_SIZE 50 +#define v2gReferenceType_Type_CHARACTERS_SIZE 50 +#define v2gReferenceType_DigestValue_BYTES_SIZE 350 +struct v2gReferenceType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gReferenceType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + unsigned int Id_isUsed:1; + /* attribute: URI {http://www.w3.org/2001/XMLSchema,anyURI} */ + struct { + exi_string_character_t characters[v2gReferenceType_URI_CHARACTERS_SIZE]; + uint16_t charactersLen; + } URI ; + unsigned int URI_isUsed:1; + /* attribute: Type {http://www.w3.org/2001/XMLSchema,anyURI} */ + struct { + exi_string_character_t characters[v2gReferenceType_Type_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Type ; + unsigned int Type_isUsed:1; + /* element: "http://www.w3.org/2000/09/xmldsig#":Transforms, 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'. */ + struct v2gTransformsType Transforms ; + unsigned int Transforms_isUsed:1; + /* element: "http://www.w3.org/2000/09/xmldsig#":DigestMethod, 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'. */ + struct v2gDigestMethodType DigestMethod ; + /* element: "http://www.w3.org/2000/09/xmldsig#":DigestValue, http://www.w3.org/2000/09/xmldsig#,DigestValueType */ + struct { + uint8_t bytes[v2gReferenceType_DigestValue_BYTES_SIZE]; + uint16_t bytesLen; + } DigestValue ; +}; + +/* 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'. */ +#define v2gCurrentDemandResType_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ +struct v2gCurrentDemandResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEPresentCurrent, 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'. */ + struct v2gPhysicalValueType EVSEPresentCurrent ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage, 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'. */ + struct v2gPhysicalValueType EVSEPresentVoltage ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEPowerLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ + int EVSEPowerLimitAchieved ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSECurrentLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ + int EVSECurrentLimitAchieved ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEVoltageLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ + int EVSEVoltageLimitAchieved ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMaximumPower, 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'. */ + struct v2gPhysicalValueType EVSEMaximumPower ; + unsigned int EVSEMaximumPower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMaximumCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMaximumCurrent ; + unsigned int EVSEMaximumCurrent_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVSEMaximumVoltage ; + unsigned int EVSEMaximumVoltage_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ + struct { + exi_string_character_t characters[v2gCurrentDemandResType_EVSEID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } EVSEID ; + /* element: "urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ + uint8_t SAScheduleTupleID ; + unsigned int SAScheduleTupleID_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":MeterInfo, 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'. */ + struct v2gMeterInfoType MeterInfo ; + unsigned int MeterInfo_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */ + int ReceiptRequired ; + unsigned int ReceiptRequired_isUsed:1; +}; + +/* 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'. */ +#define v2gDC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ +struct v2gDC_BidirectionalControlResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEPresentCurrent, 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'. */ + struct v2gPhysicalValueType EVSEPresentCurrent ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage, 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'. */ + struct v2gPhysicalValueType EVSEPresentVoltage ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEPowerLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ + int EVSEPowerLimitAchieved ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSECurrentLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ + int EVSECurrentLimitAchieved ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEVoltageLimitAchieved, http://www.w3.org/2001/XMLSchema,boolean */ + int EVSEVoltageLimitAchieved ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVSEMaximumChargePower ; + unsigned int EVSEMaximumChargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMaximumDischargePower, 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'. */ + struct v2gPhysicalValueType EVSEMaximumDischargePower ; + unsigned int EVSEMaximumDischargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMaximumChargeCurrent ; + unsigned int EVSEMaximumChargeCurrent_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMaximumDischargeCurrent, 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'. */ + struct v2gPhysicalValueType EVSEMaximumDischargeCurrent ; + unsigned int EVSEMaximumDischargeCurrent_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMaximumVoltage, 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'. */ + struct v2gPhysicalValueType EVSEMaximumVoltage ; + unsigned int EVSEMaximumVoltage_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEMinimumVoltage, 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'. */ + struct v2gPhysicalValueType EVSEMinimumVoltage ; + unsigned int EVSEMinimumVoltage_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEID, urn:iso:15118:2:2016:MsgDataTypes,evseIDType */ + struct { + exi_string_character_t characters[v2gDC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } EVSEID ; + /* element: "urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ + uint8_t SAScheduleTupleID ; + unsigned int SAScheduleTupleID_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":MeterInfo, 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'. */ + struct v2gMeterInfoType MeterInfo ; + unsigned int MeterInfo_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":ReceiptRequired, http://www.w3.org/2001/XMLSchema,boolean */ + int ReceiptRequired ; + unsigned int ReceiptRequired_isUsed:1; +}; + +/* 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'. */ +struct v2gAlignmentCheckResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVSEProcessing ; + /* element: "urn:iso:15118:2:2016:MsgBody":AlignmentCheckParameters, 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'. */ + struct v2gParameterSetType AlignmentCheckParameters ; + unsigned int AlignmentCheckParameters_isUsed:1; +}; + +/* 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'. */ +struct v2gCertificateInstallationResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":SAProvisioningCertificateChain, 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'. */ + struct v2gCertificateChainType SAProvisioningCertificateChain ; + /* element: "urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain, 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'. */ + struct v2gCertificateChainType ContractSignatureCertChain ; + /* element: "urn:iso:15118:2:2016:MsgBody":ContractSignatureEncryptedPrivateKey, 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'. */ + struct v2gContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; + /* element: "urn:iso:15118:2:2016:MsgBody":DHpublickey, 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'. */ + struct v2gDiffieHellmanPublickeyType DHpublickey ; + /* element: "urn:iso:15118:2:2016:MsgBody":eMAID, 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'. */ + struct v2gEMAIDType eMAID ; +}; + +/* 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'. */ +struct v2gChargeLoopReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":DisplayParameters, 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'. */ + struct v2gDisplayParametersType DisplayParameters ; + unsigned int DisplayParameters_isUsed:1; +}; + +/* 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'. */ +struct v2gVehicleCheckInResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":VehicleSpace, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t VehicleSpace ; + /* element: "urn:iso:15118:2:2016:MsgBody":TargetOffset, 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'. */ + struct v2gTargetPositionType TargetOffset ; + unsigned int TargetOffset_isUsed:1; +}; + +/* 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'. */ +#define v2gConsumptionCostType_Cost_ARRAY_SIZE 3 +struct v2gConsumptionCostType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":startValue, 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'. */ + struct v2gPhysicalValueType startValue ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Cost, 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'. */ + struct { + struct v2gCostType array[v2gConsumptionCostType_Cost_ARRAY_SIZE]; + uint16_t arrayLen; + } Cost; +}; + +/* 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'. */ +struct v2gAuthorizationResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVSEProcessing ; +}; + +/* 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'. */ +struct v2gGeneric_EVFinePositioningParametersType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":GenericParameters, 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'. */ + struct v2gParameterSetType GenericParameters ; +}; + +/* 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'. */ +struct v2gChargingStatusReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVTargetEnergyRequest ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + unsigned int EVMaximumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest, 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'. */ + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + unsigned int EVMinimumEnergyRequest_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":DisplayParameters, 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'. */ + struct v2gDisplayParametersType DisplayParameters ; + unsigned int DisplayParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower, 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'. */ + struct v2gPhysicalValueType EVMaximumChargePower ; + unsigned int EVMaximumChargePower_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMaximumChargeCurrent ; + unsigned int EVMaximumChargeCurrent_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVMinimumChargeCurrent, 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'. */ + struct v2gPhysicalValueType EVMinimumChargeCurrent ; + unsigned int EVMinimumChargeCurrent_isUsed:1; +}; + +/* 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'. */ +#define v2gManifestType_Id_CHARACTERS_SIZE 50 +#define v2gManifestType_Reference_ARRAY_SIZE 1 +struct v2gManifestType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gManifestType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + unsigned int Id_isUsed:1; + /* element: "http://www.w3.org/2000/09/xmldsig#":Reference, 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'. */ + struct { + struct v2gReferenceType array[v2gManifestType_Reference_ARRAY_SIZE]; + uint16_t arrayLen; + } Reference; +}; + +/* 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'. */ +#define v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE 5 +struct v2gMagneticVectorListType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MagneticVector, 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'. */ + struct { + struct v2gMagneticVectorType array[v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE]; + uint16_t arrayLen; + } MagneticVector; +}; + +/* 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'. */ +struct v2gAlignmentCheckReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVProcessing ; + /* element: "urn:iso:15118:2:2016:MsgBody":AlignmentCheckParameters, 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'. */ + struct v2gParameterSetType AlignmentCheckParameters ; + unsigned int AlignmentCheckParameters_isUsed:1; +}; + +/* 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'. */ +#define v2gServiceParameterListType_ParameterSet_ARRAY_SIZE 5 +struct v2gServiceParameterListType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ParameterSet, 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'. */ + struct { + struct v2gParameterSetType array[v2gServiceParameterListType_ParameterSet_ARRAY_SIZE]; + uint16_t arrayLen; + } ParameterSet; +}; + +/* 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'. */ +#define v2gSignedInfoType_Id_CHARACTERS_SIZE 50 +#define v2gSignedInfoType_Reference_ARRAY_SIZE 1 +struct v2gSignedInfoType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gSignedInfoType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + unsigned int Id_isUsed:1; + /* element: "http://www.w3.org/2000/09/xmldsig#":CanonicalizationMethod, 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'. */ + struct v2gCanonicalizationMethodType CanonicalizationMethod ; + /* element: "http://www.w3.org/2000/09/xmldsig#":SignatureMethod, 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'. */ + struct v2gSignatureMethodType SignatureMethod ; + /* element: "http://www.w3.org/2000/09/xmldsig#":Reference, 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'. */ + struct { + struct v2gReferenceType array[v2gSignedInfoType_Reference_ARRAY_SIZE]; + uint16_t arrayLen; + } Reference; +}; + +/* 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'. */ +struct v2gPairingResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVSEProcessing ; + /* element: "urn:iso:15118:2:2016:MsgBody":PairingParameters, 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'. */ + struct v2gParameterSetType PairingParameters ; + unsigned int PairingParameters_isUsed:1; +}; + +/* 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'. */ +struct v2gChargeParameterDiscoveryReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":MaxSupportingPoints, urn:iso:15118:2:2016:MsgDataTypes,maxSupportingPointsSAScheduleTuple */ + uint16_t MaxSupportingPoints ; + unsigned int MaxSupportingPoints_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVEnergyTransferParameter, 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'. */ + struct v2gEVEnergyTransferParameterType EVEnergyTransferParameter ; + unsigned int EVEnergyTransferParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":AC_EVChargeParameter, 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'. */ + struct v2gAC_EVChargeParameterType AC_EVChargeParameter ; + unsigned int AC_EVChargeParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":AC_EVBidirectionalParameter, 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'. */ + struct v2gAC_EVBidirectionalParameterType AC_EVBidirectionalParameter ; + unsigned int AC_EVBidirectionalParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DC_EVChargeParameter, 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'. */ + struct v2gDC_EVChargeParameterType DC_EVChargeParameter ; + unsigned int DC_EVChargeParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DC_EVBidirectionalParameter, 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'. */ + struct v2gDC_EVBidirectionalParameterType DC_EVBidirectionalParameter ; + unsigned int DC_EVBidirectionalParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":WPT_EVChargeParameter, 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'. */ + struct v2gWPT_EVChargeParameterType WPT_EVChargeParameter ; + unsigned int WPT_EVChargeParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":MinimumPMaxRequest, 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'. */ + struct v2gMinimumPMaxRequestType MinimumPMaxRequest ; + unsigned int MinimumPMaxRequest_isUsed:1; +}; + +/* 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{1-255},"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'. */ +#define v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_ARRAY_SIZE 5 +struct v2gLFA_EVFinePositioningSetupParametersType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t NumberOfSensors ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorList, 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'. */ + struct v2gSensorListType SensorList ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorOrder, http://www.w3.org/2001/XMLSchema,unsignedByte */ + struct { + uint8_t array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_ARRAY_SIZE]; + uint16_t arrayLen; + } SensorOrder; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t SignalPulseDuration ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t SignalSeparationTime ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t PackageSeparationTime ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t AlignmentOffset ; +}; + +/* 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{1-255},"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'. */ +#define v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_ARRAY_SIZE 5 +struct v2gLFA_EVSEFinePositioningSetupParametersType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t NumberOfSensors ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorList, 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'. */ + struct v2gSensorListType SensorList ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SensorOrder, http://www.w3.org/2001/XMLSchema,unsignedByte */ + struct { + uint8_t array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_ARRAY_SIZE]; + uint16_t arrayLen; + } SensorOrder; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t SignalPulseDuration ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t SignalSeparationTime ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t PackageSeparationTime ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t AlignmentOffset ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SignalFrequency, http://www.w3.org/2001/XMLSchema,unsignedShort */ + uint16_t SignalFrequency ; +}; + +/* 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'. */ +struct v2gMV_EVSEFinePositioningParametersType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorList, 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'. */ + struct v2gMagneticVectorListType MagneticVectorList ; +}; + +/* 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'. */ +#define v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE 3 +struct v2gSalesTariffEntryType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval, 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'. */ + struct v2gRelativeTimeIntervalType RelativeTimeInterval ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EPriceLevel, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t EPriceLevel ; + unsigned int EPriceLevel_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":ConsumptionCost, 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'. */ + struct { + struct v2gConsumptionCostType array[v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE]; + uint16_t arrayLen; + } ConsumptionCost; +}; + +/* 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'. */ +struct v2gServiceDetailResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":ServiceID, urn:iso:15118:2:2016:MsgDataTypes,serviceIDType */ + uint16_t ServiceID ; + /* element: "urn:iso:15118:2:2016:MsgBody":ServiceParameterList, 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'. */ + struct v2gServiceParameterListType ServiceParameterList ; + unsigned int ServiceParameterList_isUsed:1; +}; + +/* 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'. */ +#define v2gSalesTariffType_Id_CHARACTERS_SIZE 50 +#define v2gSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,tariffDescriptionType is 32 */ +#define v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE 5 +struct v2gSalesTariffType { + /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ + struct { + exi_string_character_t characters[v2gSalesTariffType_Id_CHARACTERS_SIZE]; + uint16_t charactersLen; + } Id ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SalesTariffID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ + uint8_t SalesTariffID ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SalesTariffDescription, urn:iso:15118:2:2016:MsgDataTypes,tariffDescriptionType */ + struct { + exi_string_character_t characters[v2gSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE]; + uint16_t charactersLen; + } SalesTariffDescription ; + unsigned int SalesTariffDescription_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":NumEPriceLevels, http://www.w3.org/2001/XMLSchema,unsignedByte */ + uint8_t NumEPriceLevels ; + unsigned int NumEPriceLevels_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SalesTariffEntry, 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'. */ + struct { + struct v2gSalesTariffEntryType array[v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE]; + uint16_t arrayLen; + } SalesTariffEntry; +}; + +/* 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'. */ +struct v2gFinePositioningSetupReqType { + /* substitutionGroup */ +#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES + union { +#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVFinePositioningSetupParameters, 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'. */ + struct v2gEVFinePositioningSetupParametersType EVFinePositioningSetupParameters ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":LFA_EVFinePositioningSetupParameters, 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{1-255},"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'. */ + struct v2gLFA_EVFinePositioningSetupParametersType LFA_EVFinePositioningSetupParameters ; +#if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES + }; +#endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ + unsigned int EVFinePositioningSetupParameters_isUsed:1; + unsigned int LFA_EVFinePositioningSetupParameters_isUsed:1; }; /* 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'. */ @@ -1688,252 +2565,342 @@ struct v2gSignatureType { } Object; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":EPriceLevel{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ConsumptionCost{0-3}))', derivedBy='EXTENSION'. */ -#define v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE 3 -struct v2gSalesTariffEntryType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":TimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct v2gIntervalType TimeInterval ; - unsigned int TimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":RelativeTimeInterval, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ - struct v2gRelativeTimeIntervalType RelativeTimeInterval ; - unsigned int RelativeTimeInterval_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EPriceLevel, http://www.w3.org/2001/XMLSchema,unsignedByte */ - uint8_t EPriceLevel ; - unsigned int EPriceLevel_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":ConsumptionCost, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":startValue,"urn:iso:15118:2:2013:MsgDataTypes":Cost{1-3})', derivedBy='RESTRICTION'. */ - struct { - struct v2gConsumptionCostType array[v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE]; - uint16_t arrayLen; - } ConsumptionCost; +/* 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'. */ +struct v2gFinePositioningReqType { + /* element: "urn:iso:15118:2:2016:MsgBody":EVProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVProcessing ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVFinePositioningParameters, 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'. */ + struct v2gEVFinePositioningParametersType EVFinePositioningParameters ; + unsigned int EVFinePositioningParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Generic_EVFinePositioningParameters, 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'. */ + struct v2gGeneric_EVFinePositioningParametersType Generic_EVFinePositioningParameters ; + unsigned int Generic_EVFinePositioningParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":LFA_EVFinePositioningParameters, 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'. */ + struct v2gLFA_EVFinePositioningParametersType LFA_EVFinePositioningParameters ; + unsigned int LFA_EVFinePositioningParameters_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ChargeProgress,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ -struct v2gPowerDeliveryReqType { - /* element: "urn:iso:15118:2:2013:MsgBody":ChargeProgress, urn:iso:15118:2:2013:MsgDataTypes,chargeProgressType */ - v2gchargeProgressType ChargeProgress ; - /* element: "urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */ +/* 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'. */ +struct v2gFinePositioningSetupResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEFinePositioningSetupParameters, 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'. */ + struct v2gEVSEFinePositioningSetupParametersType EVSEFinePositioningSetupParameters ; + unsigned int EVSEFinePositioningSetupParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":LFA_EVSEFinePositioningSetupParameters, 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{1-255},"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'. */ + struct v2gLFA_EVSEFinePositioningSetupParametersType LFA_EVSEFinePositioningSetupParameters ; + unsigned int LFA_EVSEFinePositioningSetupParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MV_EVSEFinePositioningSetupParameters, 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'. */ + struct v2gMV_EVSEFinePositioningSetupParametersType MV_EVSEFinePositioningSetupParameters ; + unsigned int MV_EVSEFinePositioningSetupParameters_isUsed:1; +}; + +/* 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'. */ +struct v2gSAScheduleTupleType { + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTupleID, urn:iso:15118:2:2016:MsgDataTypes,SAIDType */ uint8_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2013:MsgBody":ChargingProfile, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct v2gChargingProfileType ChargingProfile ; - unsigned int ChargingProfile_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVPowerDeliveryParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct v2gEVPowerDeliveryParameterType EVPowerDeliveryParameter ; - unsigned int EVPowerDeliveryParameter_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVPowerDeliveryParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ - struct v2gDC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":PMaxSchedule, 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'. */ + struct v2gPMaxScheduleType PMaxSchedule ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":PMaxDischargeSchedule, 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'. */ + struct v2gPMaxScheduleType PMaxDischargeSchedule ; + unsigned int PMaxDischargeSchedule_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SalesTariff, 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'. */ + struct v2gSalesTariffType SalesTariff ; + unsigned int SalesTariff_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":BuyBackTariff, 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'. */ + struct v2gSalesTariffType BuyBackTariff ; + unsigned int BuyBackTariff_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgHeader":SessionID,"urn:iso:15118:2:2013:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -#define v2gMessageHeaderType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */ +/* 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'. */ +struct v2gFinePositioningResType { + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ + v2gresponseCodeType ResponseCode ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ + v2gEVSEProcessingType EVSEProcessing ; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEFinePositioningParameters, 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'. */ + struct v2gEVSEFinePositioningParametersType EVSEFinePositioningParameters ; + unsigned int EVSEFinePositioningParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":Generic_EVSEFinePositioningParameters, 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'. */ + struct v2gGeneric_EVSEFinePositioningParametersType Generic_EVSEFinePositioningParameters ; + unsigned int Generic_EVSEFinePositioningParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":LF_EVSEFinePositioningParameters, Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LF_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'. */ + struct v2gLF_EVSEFinePositioningParametersType LF_EVSEFinePositioningParameters ; + unsigned int LF_EVSEFinePositioningParameters_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":MV_EVSEFinePositioningParameters, 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'. */ + struct v2gMV_EVSEFinePositioningParametersType MV_EVSEFinePositioningParameters ; + unsigned int MV_EVSEFinePositioningParameters_isUsed:1; +}; + +/* 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'. */ +#define v2gMessageHeaderType_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sessionIDType is 8 */ struct v2gMessageHeaderType { - /* element: "urn:iso:15118:2:2013:MsgHeader":SessionID, urn:iso:15118:2:2013:MsgDataTypes,sessionIDType */ + /* element: "urn:iso:15118:2:2016:MsgHeader":SessionID, urn:iso:15118:2:2016:MsgDataTypes,sessionIDType */ struct { uint8_t bytes[v2gMessageHeaderType_SessionID_BYTES_SIZE]; uint16_t bytesLen; } SessionID ; - /* element: "urn:iso:15118:2:2013:MsgHeader":Notification, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":FaultCode,"urn:iso:15118:2:2013:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ - struct v2gNotificationType Notification ; - unsigned int Notification_isUsed:1; /* element: "http://www.w3.org/2000/09/xmldsig#":Signature, 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'. */ struct v2gSignatureType Signature ; unsigned int Signature_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2013:MsgDataTypes":NumEPriceLevels{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -#define v2gSalesTariffType_Id_CHARACTERS_SIZE 50 -#define v2gSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType is 32 */ -#define v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE 5 -struct v2gSalesTariffType { - /* attribute: Id {http://www.w3.org/2001/XMLSchema,ID} */ - struct { - exi_string_character_t characters[v2gSalesTariffType_Id_CHARACTERS_SIZE]; - uint16_t charactersLen; - } Id ; - unsigned int Id_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SalesTariffID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */ - uint8_t SalesTariffID ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SalesTariffDescription, urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType */ - struct { - exi_string_character_t characters[v2gSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE]; - uint16_t charactersLen; - } SalesTariffDescription ; - unsigned int SalesTariffDescription_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":NumEPriceLevels, http://www.w3.org/2001/XMLSchema,unsignedByte */ - uint8_t NumEPriceLevels ; - unsigned int NumEPriceLevels_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":EPriceLevel{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ConsumptionCost{0-3}))', derivedBy='EXTENSION'. */ - struct { - struct v2gSalesTariffEntryType array[v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE]; - uint16_t arrayLen; - } SalesTariffEntry; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ -struct v2gSAScheduleTupleType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTupleID, urn:iso:15118:2:2013:MsgDataTypes,SAIDType */ - uint8_t SAScheduleTupleID ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":PMaxSchedule, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct v2gPMaxScheduleType PMaxSchedule ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SalesTariff, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2013:MsgDataTypes":NumEPriceLevels{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ - struct v2gSalesTariffType SalesTariff ; - unsigned int SalesTariff_isUsed:1; -}; - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTuple{1-3})', derivedBy='EXTENSION'. */ +/* 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'. */ #define v2gSAScheduleListType_SAScheduleTuple_ARRAY_SIZE 3 struct v2gSAScheduleListType { - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTuple, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ + /* element: "urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTuple, 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'. */ struct { struct v2gSAScheduleTupleType array[v2gSAScheduleListType_SAScheduleTuple_ARRAY_SIZE]; uint16_t arrayLen; } SAScheduleTuple; }; -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing,"urn:iso:15118:2:2013:MsgDataTypes":SASchedules{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ +/* 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'. */ struct v2gChargeParameterDiscoveryResType { - /* element: "urn:iso:15118:2:2013:MsgBody":ResponseCode, urn:iso:15118:2:2013:MsgDataTypes,responseCodeType */ + /* element: "urn:iso:15118:2:2016:MsgBody":ResponseCode, urn:iso:15118:2:2016:MsgDataTypes,responseCodeType */ v2gresponseCodeType ResponseCode ; - /* element: "urn:iso:15118:2:2013:MsgBody":EVSEProcessing, urn:iso:15118:2:2013:MsgDataTypes,EVSEProcessingType */ + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEStatus, 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'. */ + struct v2gEVSEStatusType EVSEStatus ; + unsigned int EVSEStatus_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEProcessing, urn:iso:15118:2:2016:MsgDataTypes,EVSEProcessingType */ v2gEVSEProcessingType EVSEProcessing ; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SASchedules, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct v2gSASchedulesType SASchedules ; - unsigned int SASchedules_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":SAScheduleList, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTuple{1-3})', derivedBy='EXTENSION'. */ + /* element: "urn:iso:15118:2:2016:MsgBody":SAScheduleList, 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'. */ struct v2gSAScheduleListType SAScheduleList ; unsigned int SAScheduleList_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":EVSEChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ - struct v2gEVSEChargeParameterType EVSEChargeParameter ; - unsigned int EVSEChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaxCurrent)', derivedBy='EXTENSION'. */ + /* element: "urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyTransferParameter, 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'. */ + struct v2gEVSEEnergyTransferParameterType EVSEEnergyTransferParameter ; + unsigned int EVSEEnergyTransferParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":AC_EVSEChargeParameter, 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'. */ struct v2gAC_EVSEChargeParameterType AC_EVSEChargeParameter ; unsigned int AC_EVSEChargeParameter_isUsed:1; - /* element: "urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEChargeParameter, Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumPowerLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2013:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ + /* element: "urn:iso:15118:2:2016:MsgDataTypes":AC_EVSEBidirectionalParameter, 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'. */ + struct v2gAC_EVSEBidirectionalParameterType AC_EVSEBidirectionalParameter ; + unsigned int AC_EVSEBidirectionalParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DC_EVSEChargeParameter, 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'. */ struct v2gDC_EVSEChargeParameterType DC_EVSEChargeParameter ; unsigned int DC_EVSEChargeParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":DC_EVSEBidirectionalParameter, 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'. */ + struct v2gDC_EVSEBidirectionalParameterType DC_EVSEBidirectionalParameter ; + unsigned int DC_EVSEBidirectionalParameter_isUsed:1; + /* element: "urn:iso:15118:2:2016:MsgDataTypes":WPT_EVSEChargeParameter, 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'. */ + struct v2gWPT_EVSEChargeParameterType WPT_EVSEChargeParameter ; + unsigned int WPT_EVSEChargeParameter_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgBody,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":BodyElement{0-1})', derivedBy='RESTRICTION'. */ +/* 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'. */ struct v2gBodyType { /* substitutionGroup */ #if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES union { #endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - /* element: "urn:iso:15118:2:2013:MsgBody":BodyElement, Complex type name='urn:iso:15118:2:2013:MsgBody,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ + /* element: "urn:iso:15118:2:2016:MsgBody":BodyElement, 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'. */ struct v2gBodyBaseType BodyElement ; - /* element: "urn:iso:15118:2:2013:MsgBody":SessionSetupReq, Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ - struct v2gSessionSetupReqType SessionSetupReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":SessionSetupRes, Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp{0-1})', derivedBy='EXTENSION'. */ - struct v2gSessionSetupResType SessionSetupRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceDiscoveryReq, Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ - struct v2gServiceDiscoveryReqType ServiceDiscoveryReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceDiscoveryRes, Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":PaymentOptionList,"urn:iso:15118:2:2013:MsgBody":ChargeService,"urn:iso:15118:2:2013:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ - struct v2gServiceDiscoveryResType ServiceDiscoveryRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceDetailReq, Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ - struct v2gServiceDetailReqType ServiceDetailReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":ServiceDetailRes, Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":ServiceID,"urn:iso:15118:2:2013:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ - struct v2gServiceDetailResType ServiceDetailRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":PaymentServiceSelectionReq, Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2013:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ - struct v2gPaymentServiceSelectionReqType PaymentServiceSelectionReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":PaymentServiceSelectionRes, Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ - struct v2gPaymentServiceSelectionResType PaymentServiceSelectionRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":PaymentDetailsReq, Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ - struct v2gPaymentDetailsReqType PaymentDetailsReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":PaymentDetailsRes, Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":GenChallenge,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp)', derivedBy='EXTENSION'. */ - struct v2gPaymentDetailsResType PaymentDetailsRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":AuthorizationReq, Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ - struct v2gAuthorizationReqType AuthorizationReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":AuthorizationRes, Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ - struct v2gAuthorizationResType AuthorizationRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":ChargeParameterDiscoveryReq, Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":MaxEntriesSAScheduleTuple{0-1},"urn:iso:15118:2:2013:MsgBody":RequestedEnergyTransferMode,"urn:iso:15118:2:2013:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ - struct v2gChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":ChargeParameterDiscoveryRes, Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing,"urn:iso:15118:2:2013:MsgDataTypes":SASchedules{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ - struct v2gChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":PowerDeliveryReq, Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ChargeProgress,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ - struct v2gPowerDeliveryReqType PowerDeliveryReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":PowerDeliveryRes, Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ - struct v2gPowerDeliveryResType PowerDeliveryRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":MeteringReceiptReq, Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":SessionID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ - struct v2gMeteringReceiptReqType MeteringReceiptReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":MeteringReceiptRes, Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ - struct v2gMeteringReceiptResType MeteringReceiptRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":SessionStopReq, Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ChargingSession)', derivedBy='EXTENSION'. */ - struct v2gSessionStopReqType SessionStopReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":SessionStopRes, Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ - struct v2gSessionStopResType SessionStopRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":CertificateUpdateReq, Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ - struct v2gCertificateUpdateReqType CertificateUpdateReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":CertificateUpdateRes, Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":RetryCounter{0-1})', derivedBy='EXTENSION'. */ - struct v2gCertificateUpdateResType CertificateUpdateRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":CertificateInstallationReq, Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ - struct v2gCertificateInstallationReqType CertificateInstallationReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":CertificateInstallationRes, Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID)', derivedBy='EXTENSION'. */ - struct v2gCertificateInstallationResType CertificateInstallationRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":ChargingStatusReq, Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ - struct v2gChargingStatusReqType ChargingStatusReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":ChargingStatusRes, Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2013:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ - struct v2gChargingStatusResType ChargingStatusRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":CableCheckReq, Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ - struct v2gCableCheckReqType CableCheckReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":CableCheckRes, Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ - struct v2gCableCheckResType CableCheckRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":PreChargeReq, Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ - struct v2gPreChargeReqType PreChargeReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":PreChargeRes, Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ - struct v2gPreChargeResType PreChargeRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":CurrentDemandReq, Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2013:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgBody":ChargingComplete,"urn:iso:15118:2:2013:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2013:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ + /* element: "urn:iso:15118:2:2016:MsgBody":V2GRequest, 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'. */ + struct v2gBodyBaseType V2GRequest ; + /* element: "urn:iso:15118:2:2016:MsgBody":DisconnectChargingDeviceReq, 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'. */ + struct v2gDisconnectChargingDeviceReqType DisconnectChargingDeviceReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":ConnectChargingDeviceReq, 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'. */ + struct v2gConnectChargingDeviceReqType ConnectChargingDeviceReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":SystemStatusReq, 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'. */ + struct v2gSystemStatusReqType SystemStatusReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":DC_BidirectionalControlReq, 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'. */ + struct v2gDC_BidirectionalControlReqType DC_BidirectionalControlReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":AC_BidirectionalControlReq, 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'. */ + struct v2gAC_BidirectionalControlReqType AC_BidirectionalControlReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":VehicleCheckOutReq, 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'. */ + struct v2gVehicleCheckOutReqType VehicleCheckOutReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":VehicleCheckInReq, 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'. */ + struct v2gVehicleCheckInReqType VehicleCheckInReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":PowerDemandReq, 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'. */ + struct v2gPowerDemandReqType PowerDemandReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":PairingReq, 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'. */ + struct v2gPairingReqType PairingReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":AlignmentCheckReq, 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'. */ + struct v2gAlignmentCheckReqType AlignmentCheckReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":FinePositioningReq, 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'. */ + struct v2gFinePositioningReqType FinePositioningReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":FinePositioningSetupReq, 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'. */ + struct v2gFinePositioningSetupReqType FinePositioningSetupReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":WeldingDetectionReq, 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'. */ + struct v2gBodyBaseType WeldingDetectionReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":CurrentDemandReq, 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'. */ struct v2gCurrentDemandReqType CurrentDemandReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":CurrentDemandRes, Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2013:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2013:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1})', derivedBy='EXTENSION'. */ - struct v2gCurrentDemandResType CurrentDemandRes ; - /* element: "urn:iso:15118:2:2013:MsgBody":WeldingDetectionReq, Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ - struct v2gWeldingDetectionReqType WeldingDetectionReq ; - /* element: "urn:iso:15118:2:2013:MsgBody":WeldingDetectionRes, Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ + /* element: "urn:iso:15118:2:2016:MsgBody":PreChargeReq, 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'. */ + struct v2gPreChargeReqType PreChargeReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":CableCheckReq, 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'. */ + struct v2gBodyBaseType CableCheckReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":ChargingStatusReq, 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'. */ + struct v2gChargingStatusReqType ChargingStatusReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":CertificateInstallationReq, 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'. */ + struct v2gCertificateInstallationReqType CertificateInstallationReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":CertificateUpdateReq, 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'. */ + struct v2gCertificateUpdateReqType CertificateUpdateReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":SessionStopReq, 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'. */ + struct v2gSessionStopReqType SessionStopReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":MeteringReceiptReq, 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'. */ + struct v2gMeteringReceiptReqType MeteringReceiptReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":PowerDeliveryReq, 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'. */ + struct v2gPowerDeliveryReqType PowerDeliveryReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":ChargeParameterDiscoveryReq, 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'. */ + struct v2gChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":AuthorizationReq, 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'. */ + struct v2gAuthorizationReqType AuthorizationReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":PaymentDetailsReq, 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'. */ + struct v2gPaymentDetailsReqType PaymentDetailsReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":PaymentServiceSelectionReq, 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'. */ + struct v2gPaymentServiceSelectionReqType PaymentServiceSelectionReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":ServiceDetailReq, 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'. */ + struct v2gServiceDetailReqType ServiceDetailReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":ServiceDiscoveryReq, 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'. */ + struct v2gServiceDiscoveryReqType ServiceDiscoveryReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":SessionSetupReq, 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'. */ + struct v2gSessionSetupReqType SessionSetupReq ; + /* element: "urn:iso:15118:2:2016:MsgBody":V2GResponse, 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'. */ + struct v2gV2GResponseType V2GResponse ; + /* element: "urn:iso:15118:2:2016:MsgBody":DisconnectChargingDeviceRes, 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'. */ + struct v2gDisconnectChargingDeviceResType DisconnectChargingDeviceRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":ConnectChargingDeviceRes, 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'. */ + struct v2gConnectChargingDeviceResType ConnectChargingDeviceRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":SystemStatusRes, 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'. */ + struct v2gSystemStatusResType SystemStatusRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":DC_BidirectionalControlRes, 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'. */ + struct v2gDC_BidirectionalControlResType DC_BidirectionalControlRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":AC_BidirectionalControlRes, 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'. */ + struct v2gAC_BidirectionalControlResType AC_BidirectionalControlRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":VehicleCheckOutRes, 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'. */ + struct v2gVehicleCheckOutResType VehicleCheckOutRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":VehicleCheckInRes, 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'. */ + struct v2gVehicleCheckInResType VehicleCheckInRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":PowerDemandRes, 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'. */ + struct v2gPowerDemandResType PowerDemandRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":PairingRes, 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'. */ + struct v2gPairingResType PairingRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":AlignmentCheckRes, 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'. */ + struct v2gAlignmentCheckResType AlignmentCheckRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":FinePositioningRes, 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'. */ + struct v2gFinePositioningResType FinePositioningRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":FinePositioningSetupRes, 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'. */ + struct v2gFinePositioningSetupResType FinePositioningSetupRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":WeldingDetectionRes, 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'. */ struct v2gWeldingDetectionResType WeldingDetectionRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":CurrentDemandRes, 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'. */ + struct v2gCurrentDemandResType CurrentDemandRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":PreChargeRes, 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'. */ + struct v2gPreChargeResType PreChargeRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":CableCheckRes, 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'. */ + struct v2gCableCheckResType CableCheckRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":ChargingStatusRes, 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'. */ + struct v2gChargingStatusResType ChargingStatusRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":CertificateInstallationRes, 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'. */ + struct v2gCertificateInstallationResType CertificateInstallationRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":CertificateUpdateRes, 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'. */ + struct v2gCertificateUpdateResType CertificateUpdateRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":SessionStopRes, 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'. */ + struct v2gV2GResponseType SessionStopRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":MeteringReceiptRes, 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'. */ + struct v2gV2GResponseType MeteringReceiptRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":PowerDeliveryRes, 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'. */ + struct v2gPowerDeliveryResType PowerDeliveryRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":ChargeParameterDiscoveryRes, 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'. */ + struct v2gChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":AuthorizationRes, 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'. */ + struct v2gAuthorizationResType AuthorizationRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":PaymentDetailsRes, 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'. */ + struct v2gPaymentDetailsResType PaymentDetailsRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":PaymentServiceSelectionRes, 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'. */ + struct v2gV2GResponseType PaymentServiceSelectionRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":ServiceDetailRes, 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'. */ + struct v2gServiceDetailResType ServiceDetailRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":ServiceDiscoveryRes, 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'. */ + struct v2gServiceDiscoveryResType ServiceDiscoveryRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":SessionSetupRes, 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'. */ + struct v2gSessionSetupResType SessionSetupRes ; + /* element: "urn:iso:15118:2:2016:MsgBody":ErrorInformation, 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'. */ + struct v2gBodyBaseType ErrorInformation ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVSEErrorInformation, Complex type name='urn:iso:15118:2:2016:MsgBody,EVSEErrorInformationType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ErrorCode)', derivedBy='EXTENSION'. */ + struct v2gEVSEErrorInformationType EVSEErrorInformation ; + /* element: "urn:iso:15118:2:2016:MsgBody":EVErrorInformation, Complex type name='urn:iso:15118:2:2016:MsgBody,EVErrorInformationType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ErrorCode)', derivedBy='EXTENSION'. */ + struct v2gEVErrorInformationType EVErrorInformation ; #if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES }; #endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ unsigned int BodyElement_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - unsigned int PaymentServiceSelectionReq_isUsed:1; - unsigned int PaymentServiceSelectionRes_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; - unsigned int AuthorizationReq_isUsed:1; - unsigned int AuthorizationRes_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; + unsigned int V2GRequest_isUsed:1; + unsigned int DisconnectChargingDeviceReq_isUsed:1; + unsigned int ConnectChargingDeviceReq_isUsed:1; + unsigned int SystemStatusReq_isUsed:1; + unsigned int DC_BidirectionalControlReq_isUsed:1; + unsigned int AC_BidirectionalControlReq_isUsed:1; + unsigned int VehicleCheckOutReq_isUsed:1; + unsigned int VehicleCheckInReq_isUsed:1; + unsigned int PowerDemandReq_isUsed:1; + unsigned int PairingReq_isUsed:1; + unsigned int AlignmentCheckReq_isUsed:1; + unsigned int FinePositioningReq_isUsed:1; + unsigned int FinePositioningSetupReq_isUsed:1; unsigned int WeldingDetectionReq_isUsed:1; + unsigned int CurrentDemandReq_isUsed:1; + unsigned int PreChargeReq_isUsed:1; + unsigned int CableCheckReq_isUsed:1; + unsigned int ChargingStatusReq_isUsed:1; + unsigned int CertificateInstallationReq_isUsed:1; + unsigned int CertificateUpdateReq_isUsed:1; + unsigned int SessionStopReq_isUsed:1; + unsigned int MeteringReceiptReq_isUsed:1; + unsigned int PowerDeliveryReq_isUsed:1; + unsigned int ChargeParameterDiscoveryReq_isUsed:1; + unsigned int AuthorizationReq_isUsed:1; + unsigned int PaymentDetailsReq_isUsed:1; + unsigned int PaymentServiceSelectionReq_isUsed:1; + unsigned int ServiceDetailReq_isUsed:1; + unsigned int ServiceDiscoveryReq_isUsed:1; + unsigned int SessionSetupReq_isUsed:1; + unsigned int V2GResponse_isUsed:1; + unsigned int DisconnectChargingDeviceRes_isUsed:1; + unsigned int ConnectChargingDeviceRes_isUsed:1; + unsigned int SystemStatusRes_isUsed:1; + unsigned int DC_BidirectionalControlRes_isUsed:1; + unsigned int AC_BidirectionalControlRes_isUsed:1; + unsigned int VehicleCheckOutRes_isUsed:1; + unsigned int VehicleCheckInRes_isUsed:1; + unsigned int PowerDemandRes_isUsed:1; + unsigned int PairingRes_isUsed:1; + unsigned int AlignmentCheckRes_isUsed:1; + unsigned int FinePositioningRes_isUsed:1; + unsigned int FinePositioningSetupRes_isUsed:1; unsigned int WeldingDetectionRes_isUsed:1; + unsigned int CurrentDemandRes_isUsed:1; + unsigned int PreChargeRes_isUsed:1; + unsigned int CableCheckRes_isUsed:1; + unsigned int ChargingStatusRes_isUsed:1; + unsigned int CertificateInstallationRes_isUsed:1; + unsigned int CertificateUpdateRes_isUsed:1; + unsigned int SessionStopRes_isUsed:1; + unsigned int MeteringReceiptRes_isUsed:1; + unsigned int PowerDeliveryRes_isUsed:1; + unsigned int ChargeParameterDiscoveryRes_isUsed:1; + unsigned int AuthorizationRes_isUsed:1; + unsigned int PaymentDetailsRes_isUsed:1; + unsigned int PaymentServiceSelectionRes_isUsed:1; + unsigned int ServiceDetailRes_isUsed:1; + unsigned int ServiceDiscoveryRes_isUsed:1; + unsigned int SessionSetupRes_isUsed:1; + unsigned int ErrorInformation_isUsed:1; + unsigned int EVSEErrorInformation_isUsed:1; + unsigned int EVErrorInformation_isUsed:1; }; -/* Complex type name='urn:iso:15118:2:2013:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDef":Header,"urn:iso:15118:2:2013:MsgDef":Body)', derivedBy='RESTRICTION'. */ +/* 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'. */ struct v2gAnonType_V2G_Message { - /* element: "urn:iso:15118:2:2013:MsgDef":Header, Complex type name='urn:iso:15118:2:2013:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgHeader":SessionID,"urn:iso:15118:2:2013:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ + /* element: "urn:iso:15118:2:2016:MsgDef":Header, 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'. */ struct v2gMessageHeaderType Header ; - /* element: "urn:iso:15118:2:2013:MsgDef":Body, Complex type name='urn:iso:15118:2:2013:MsgBody,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":BodyElement{0-1})', derivedBy='RESTRICTION'. */ + /* element: "urn:iso:15118:2:2016:MsgDef":Body, 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'. */ struct v2gBodyType Body ; }; @@ -1942,41 +2909,38 @@ struct v2gAnonType_V2G_Message { #define EXIDocument_MgmtData_CHARACTERS_SIZE 50 #define EXIDocument_KeyName_CHARACTERS_SIZE 50 #define EXIDocument_DigestValue_BYTES_SIZE 350 -#define EXIFragment_Exponent_BYTES_SIZE 350 -#define EXIFragment_J_BYTES_SIZE 350 -#define EXIFragment_X509CRL_BYTES_SIZE 350 -#define EXIFragment_ServiceScope_CHARACTERS_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceScopeType is 64 */ -#define EXIFragment_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -#define EXIFragment_MeterID_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,meterIDType is 32 */ -#define EXIFragment_FaultMsg_CHARACTERS_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,faultMsgType is 64 */ -#define EXIFragment_eMAID_CHARACTERS_SIZE 15 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,eMAIDType is 15 */ -#define EXIFragment_PGPKeyPacket_BYTES_SIZE 350 -#define EXIFragment_PgenCounter_BYTES_SIZE 350 -#define EXIFragment_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evseIDType is 37 */ #define EXIFragment_stringValue_CHARACTERS_SIZE 50 -#define EXIFragment_Y_BYTES_SIZE 350 -#define EXIFragment_Seed_BYTES_SIZE 350 -#define EXIFragment_SalesTariffDescription_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,tariffDescriptionType is 32 */ -#define EXIFragment_Modulus_BYTES_SIZE 350 -#define EXIFragment_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */ -#define EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 -#define EXIFragment_X509SubjectName_CHARACTERS_SIZE 50 -#define EXIFragment_MgmtData_CHARACTERS_SIZE 50 -#define EXIFragment_ServiceName_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,serviceNameType is 32 */ -#define EXIFragment_PGPKeyID_BYTES_SIZE 350 -#define EXIFragment_X509SKI_BYTES_SIZE 350 -#define EXIFragment_P_BYTES_SIZE 350 -#define EXIFragment_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2013:MsgDataTypes,genChallengeType is 16 */ -#define EXIFragment_X509Certificate_BYTES_SIZE 350 -#define EXIFragment_SPKISexp_BYTES_SIZE 350 -#define EXIFragment_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sigMeterReadingType is 64 */ -#define EXIFragment_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,sessionIDType is 8 */ -#define EXIFragment_G_BYTES_SIZE 350 -#define EXIFragment_KeyName_CHARACTERS_SIZE 50 -#define EXIFragment_DigestValue_BYTES_SIZE 350 -#define EXIFragment_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,evccIDType is 6 */ +#define EXIFragment_PgenCounter_BYTES_SIZE 350 +#define EXIFragment_SalesTariffDescription_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,tariffDescriptionType is 32 */ +#define EXIFragment_SessionID_BYTES_SIZE 8 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sessionIDType is 8 */ #define EXIFragment_XPath_CHARACTERS_SIZE 50 +#define EXIFragment_MgmtData_CHARACTERS_SIZE 50 +#define EXIFragment_OEMProvisioningCert_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ +#define EXIFragment_P_BYTES_SIZE 350 #define EXIFragment_Q_BYTES_SIZE 350 +#define EXIFragment_X509SubjectName_CHARACTERS_SIZE 50 +#define EXIFragment_G_BYTES_SIZE 350 +#define EXIFragment_J_BYTES_SIZE 350 +#define EXIFragment_Y_BYTES_SIZE 350 +#define EXIFragment_DigestValue_BYTES_SIZE 350 +#define EXIFragment_EVCCID_BYTES_SIZE 6 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evccIDType is 6 */ +#define EXIFragment_PGPKeyID_BYTES_SIZE 350 +#define EXIFragment_KeyName_CHARACTERS_SIZE 50 +#define EXIFragment_X509SKI_BYTES_SIZE 350 +#define EXIFragment_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,certificateType is 800 */ +#define EXIFragment_Modulus_BYTES_SIZE 350 +#define EXIFragment_SigMeterReading_BYTES_SIZE 64 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,sigMeterReadingType is 64 */ +#define EXIFragment_Exponent_BYTES_SIZE 350 +#define EXIFragment_PGPKeyPacket_BYTES_SIZE 350 +#define EXIFragment_Seed_BYTES_SIZE 350 +#define EXIFragment_MeterID_CHARACTERS_SIZE 32 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,meterIDType is 32 */ +#define EXIFragment_X509CRL_BYTES_SIZE 350 +#define EXIFragment_SPKISexp_BYTES_SIZE 350 +#define EXIFragment_X509Certificate_BYTES_SIZE 350 +#define EXIFragment_EVSEID_CHARACTERS_SIZE 37 /* XML schema facet maxLength for urn:iso:15118:2:2016:MsgDataTypes,evseIDType is 37 */ +#define EXIFragment_GenChallenge_BYTES_SIZE 16 /* XML schema facet length for urn:iso:15118:2:2016:MsgDataTypes,genChallengeType is 16 */ +#define EXIFragment_GAID_CHARACTERS_SIZE 50 +#define EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 /* Global elements of EXI Document */ @@ -1987,59 +2951,96 @@ struct v2gEXIDocument { struct v2gAnonType_V2G_Message V2G_Message ; struct v2gServiceDiscoveryReqType ServiceDiscoveryReq ; struct v2gServiceDiscoveryResType ServiceDiscoveryRes ; + struct v2gFinePositioningReqType FinePositioningReq ; + struct v2gFinePositioningResType FinePositioningRes ; + struct v2gDisconnectChargingDeviceReqType DisconnectChargingDeviceReq ; + struct v2gDisconnectChargingDeviceResType DisconnectChargingDeviceRes ; + struct v2gPowerDemandReqType PowerDemandReq ; struct v2gMeteringReceiptReqType MeteringReceiptReq ; struct v2gPaymentDetailsReqType PaymentDetailsReq ; - struct v2gMeteringReceiptResType MeteringReceiptRes ; + struct v2gPowerDemandResType PowerDemandRes ; + struct v2gV2GResponseType MeteringReceiptRes ; struct v2gPaymentDetailsResType PaymentDetailsRes ; struct v2gSessionSetupReqType SessionSetupReq ; struct v2gSessionSetupResType SessionSetupRes ; - struct v2gCableCheckReqType CableCheckReq ; + struct v2gBodyBaseType CableCheckReq ; struct v2gCableCheckResType CableCheckRes ; struct v2gCertificateInstallationReqType CertificateInstallationReq ; struct v2gCertificateInstallationResType CertificateInstallationRes ; - struct v2gWeldingDetectionReqType WeldingDetectionReq ; + struct v2gSystemStatusReqType SystemStatusReq ; + struct v2gSystemStatusResType SystemStatusRes ; + struct v2gPairingReqType PairingReq ; + struct v2gBodyBaseType WeldingDetectionReq ; + struct v2gConnectChargingDeviceReqType ConnectChargingDeviceReq ; + struct v2gEVSEErrorInformationType EVSEErrorInformation ; + struct v2gPairingResType PairingRes ; struct v2gWeldingDetectionResType WeldingDetectionRes ; + struct v2gConnectChargingDeviceResType ConnectChargingDeviceRes ; struct v2gCertificateUpdateReqType CertificateUpdateReq ; struct v2gCertificateUpdateResType CertificateUpdateRes ; + struct v2gEVErrorInformationType EVErrorInformation ; struct v2gPaymentServiceSelectionReqType PaymentServiceSelectionReq ; struct v2gPowerDeliveryReqType PowerDeliveryReq ; - struct v2gPaymentServiceSelectionResType PaymentServiceSelectionRes ; + struct v2gV2GResponseType PaymentServiceSelectionRes ; struct v2gPowerDeliveryResType PowerDeliveryRes ; struct v2gChargingStatusReqType ChargingStatusReq ; struct v2gChargingStatusResType ChargingStatusRes ; struct v2gBodyBaseType BodyElement ; + struct v2gAC_BidirectionalControlReqType AC_BidirectionalControlReq ; + struct v2gAC_BidirectionalControlResType AC_BidirectionalControlRes ; + struct v2gBodyBaseType ErrorInformation ; + struct v2gVehicleCheckInReqType VehicleCheckInReq ; struct v2gCurrentDemandReqType CurrentDemandReq ; + struct v2gVehicleCheckInResType VehicleCheckInRes ; struct v2gPreChargeReqType PreChargeReq ; struct v2gCurrentDemandResType CurrentDemandRes ; struct v2gPreChargeResType PreChargeRes ; + struct v2gAlignmentCheckReqType AlignmentCheckReq ; + struct v2gBodyBaseType V2GRequest ; struct v2gSessionStopReqType SessionStopReq ; struct v2gAuthorizationReqType AuthorizationReq ; - struct v2gSessionStopResType SessionStopRes ; + struct v2gAlignmentCheckResType AlignmentCheckRes ; + struct v2gV2GResponseType SessionStopRes ; struct v2gAuthorizationResType AuthorizationRes ; + struct v2gVehicleCheckOutReqType VehicleCheckOutReq ; struct v2gChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; + struct v2gVehicleCheckOutResType VehicleCheckOutRes ; struct v2gChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; + struct v2gV2GResponseType V2GResponse ; + struct v2gFinePositioningSetupReqType FinePositioningSetupReq ; + struct v2gFinePositioningSetupResType FinePositioningSetupRes ; struct v2gServiceDetailReqType ServiceDetailReq ; + struct v2gDC_BidirectionalControlReqType DC_BidirectionalControlReq ; struct v2gServiceDetailResType ServiceDetailRes ; - struct v2gDC_EVSEStatusType DC_EVSEStatus ; + struct v2gDC_BidirectionalControlResType DC_BidirectionalControlRes ; + struct v2gLFA_EVFinePositioningSetupParametersType LFA_EVFinePositioningSetupParameters ; + struct v2gMV_EVSEFinePositioningParametersType MV_EVSEFinePositioningParameters ; struct v2gRelativeTimeIntervalType RelativeTimeInterval ; struct v2gSalesTariffEntryType SalesTariffEntry ; - struct v2gDC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - struct v2gSASchedulesType SASchedules ; + struct v2gLFA_EVSEFinePositioningSetupParametersType LFA_EVSEFinePositioningSetupParameters ; struct v2gAC_EVChargeParameterType AC_EVChargeParameter ; + struct v2gMV_EVSEFinePositioningSetupParametersType MV_EVSEFinePositioningSetupParameters ; + struct v2gEVEnergyTransferParameterType EVEnergyTransferParameter ; + struct v2gDC_EVSEBidirectionalParameterType DC_EVSEBidirectionalParameter ; struct v2gSAScheduleListType SAScheduleList ; - struct v2gDC_EVStatusType DC_EVStatus ; - struct v2gEVStatusType EVStatus ; + struct v2gEVSEFinePositioningSetupParametersType EVSEFinePositioningSetupParameters ; + struct v2gLF_EVSEFinePositioningParametersType LF_EVSEFinePositioningParameters ; + struct v2gGeneric_EVSEFinePositioningParametersType Generic_EVSEFinePositioningParameters ; struct v2gDC_EVChargeParameterType DC_EVChargeParameter ; struct v2gDC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct v2gEVSEStatusType EVSEStatus ; - struct v2gIntervalType TimeInterval ; - struct v2gEVPowerDeliveryParameterType EVPowerDeliveryParameter ; - struct v2gEVSEChargeParameterType EVSEChargeParameter ; - struct v2gAC_EVSEStatusType AC_EVSEStatus ; - struct v2gEntryType Entry ; + struct v2gLFA_EVFinePositioningParametersType LFA_EVFinePositioningParameters ; + struct v2gEVFinePositioningSetupParametersType EVFinePositioningSetupParameters ; + struct v2gAC_EVSEBidirectionalParameterType AC_EVSEBidirectionalParameter ; + struct v2gEVFinePositioningParametersType EVFinePositioningParameters ; + struct v2gWPT_EVChargeParameterType WPT_EVChargeParameter ; + struct v2gEVSEEnergyTransferParameterType EVSEEnergyTransferParameter ; + struct v2gAC_EVBidirectionalParameterType AC_EVBidirectionalParameter ; + struct v2gEVSEFinePositioningParametersType EVSEFinePositioningParameters ; + struct v2gWPT_EVSEChargeParameterType WPT_EVSEChargeParameter ; struct v2gAC_EVSEChargeParameterType AC_EVSEChargeParameter ; struct v2gPMaxScheduleEntryType PMaxScheduleEntry ; - struct v2gEVChargeParameterType EVChargeParameter ; + struct v2gGeneric_EVFinePositioningParametersType Generic_EVFinePositioningParameters ; + struct v2gDC_EVBidirectionalParameterType DC_EVBidirectionalParameter ; struct v2gSignaturePropertyType SignatureProperty ; struct v2gDSAKeyValueType DSAKeyValue ; struct v2gSignaturePropertiesType SignatureProperties ; @@ -2079,8 +3080,14 @@ struct v2gEXIDocument { unsigned int V2G_Message_isUsed:1; unsigned int ServiceDiscoveryReq_isUsed:1; unsigned int ServiceDiscoveryRes_isUsed:1; + unsigned int FinePositioningReq_isUsed:1; + unsigned int FinePositioningRes_isUsed:1; + unsigned int DisconnectChargingDeviceReq_isUsed:1; + unsigned int DisconnectChargingDeviceRes_isUsed:1; + unsigned int PowerDemandReq_isUsed:1; unsigned int MeteringReceiptReq_isUsed:1; unsigned int PaymentDetailsReq_isUsed:1; + unsigned int PowerDemandRes_isUsed:1; unsigned int MeteringReceiptRes_isUsed:1; unsigned int PaymentDetailsRes_isUsed:1; unsigned int SessionSetupReq_isUsed:1; @@ -2089,10 +3096,18 @@ struct v2gEXIDocument { unsigned int CableCheckRes_isUsed:1; unsigned int CertificateInstallationReq_isUsed:1; unsigned int CertificateInstallationRes_isUsed:1; + unsigned int SystemStatusReq_isUsed:1; + unsigned int SystemStatusRes_isUsed:1; + unsigned int PairingReq_isUsed:1; unsigned int WeldingDetectionReq_isUsed:1; + unsigned int ConnectChargingDeviceReq_isUsed:1; + unsigned int EVSEErrorInformation_isUsed:1; + unsigned int PairingRes_isUsed:1; unsigned int WeldingDetectionRes_isUsed:1; + unsigned int ConnectChargingDeviceRes_isUsed:1; unsigned int CertificateUpdateReq_isUsed:1; unsigned int CertificateUpdateRes_isUsed:1; + unsigned int EVErrorInformation_isUsed:1; unsigned int PaymentServiceSelectionReq_isUsed:1; unsigned int PowerDeliveryReq_isUsed:1; unsigned int PaymentServiceSelectionRes_isUsed:1; @@ -2100,38 +3115,61 @@ struct v2gEXIDocument { unsigned int ChargingStatusReq_isUsed:1; unsigned int ChargingStatusRes_isUsed:1; unsigned int BodyElement_isUsed:1; + unsigned int AC_BidirectionalControlReq_isUsed:1; + unsigned int AC_BidirectionalControlRes_isUsed:1; + unsigned int ErrorInformation_isUsed:1; + unsigned int VehicleCheckInReq_isUsed:1; unsigned int CurrentDemandReq_isUsed:1; + unsigned int VehicleCheckInRes_isUsed:1; unsigned int PreChargeReq_isUsed:1; unsigned int CurrentDemandRes_isUsed:1; unsigned int PreChargeRes_isUsed:1; + unsigned int AlignmentCheckReq_isUsed:1; + unsigned int V2GRequest_isUsed:1; unsigned int SessionStopReq_isUsed:1; unsigned int AuthorizationReq_isUsed:1; + unsigned int AlignmentCheckRes_isUsed:1; unsigned int SessionStopRes_isUsed:1; unsigned int AuthorizationRes_isUsed:1; + unsigned int VehicleCheckOutReq_isUsed:1; unsigned int ChargeParameterDiscoveryReq_isUsed:1; + unsigned int VehicleCheckOutRes_isUsed:1; unsigned int ChargeParameterDiscoveryRes_isUsed:1; + unsigned int V2GResponse_isUsed:1; + unsigned int FinePositioningSetupReq_isUsed:1; + unsigned int FinePositioningSetupRes_isUsed:1; unsigned int ServiceDetailReq_isUsed:1; + unsigned int DC_BidirectionalControlReq_isUsed:1; unsigned int ServiceDetailRes_isUsed:1; - unsigned int DC_EVSEStatus_isUsed:1; + unsigned int DC_BidirectionalControlRes_isUsed:1; + unsigned int LFA_EVFinePositioningSetupParameters_isUsed:1; + unsigned int MV_EVSEFinePositioningParameters_isUsed:1; unsigned int RelativeTimeInterval_isUsed:1; unsigned int SalesTariffEntry_isUsed:1; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; - unsigned int SASchedules_isUsed:1; + unsigned int LFA_EVSEFinePositioningSetupParameters_isUsed:1; unsigned int AC_EVChargeParameter_isUsed:1; + unsigned int MV_EVSEFinePositioningSetupParameters_isUsed:1; + unsigned int EVEnergyTransferParameter_isUsed:1; + unsigned int DC_EVSEBidirectionalParameter_isUsed:1; unsigned int SAScheduleList_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int EVStatus_isUsed:1; + unsigned int EVSEFinePositioningSetupParameters_isUsed:1; + unsigned int LF_EVSEFinePositioningParameters_isUsed:1; + unsigned int Generic_EVSEFinePositioningParameters_isUsed:1; unsigned int DC_EVChargeParameter_isUsed:1; unsigned int DC_EVSEChargeParameter_isUsed:1; - unsigned int EVSEStatus_isUsed:1; - unsigned int TimeInterval_isUsed:1; - unsigned int EVPowerDeliveryParameter_isUsed:1; - unsigned int EVSEChargeParameter_isUsed:1; - unsigned int AC_EVSEStatus_isUsed:1; - unsigned int Entry_isUsed:1; + unsigned int LFA_EVFinePositioningParameters_isUsed:1; + unsigned int EVFinePositioningSetupParameters_isUsed:1; + unsigned int AC_EVSEBidirectionalParameter_isUsed:1; + unsigned int EVFinePositioningParameters_isUsed:1; + unsigned int WPT_EVChargeParameter_isUsed:1; + unsigned int EVSEEnergyTransferParameter_isUsed:1; + unsigned int AC_EVBidirectionalParameter_isUsed:1; + unsigned int EVSEFinePositioningParameters_isUsed:1; + unsigned int WPT_EVSEChargeParameter_isUsed:1; unsigned int AC_EVSEChargeParameter_isUsed:1; unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; + unsigned int Generic_EVFinePositioningParameters_isUsed:1; + unsigned int DC_EVBidirectionalParameter_isUsed:1; unsigned int SignatureProperty_isUsed:1; unsigned int DSAKeyValue_isUsed:1; unsigned int SignatureProperties_isUsed:1; @@ -2161,575 +3199,777 @@ struct v2gEXIDocument { int _warning_; }; + +#if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES /* Possible elements of EXI Fragment */ struct v2gEXIFragment { #if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES union { #endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - struct v2gRSAKeyValueType RSAKeyValue ; - struct v2gServiceDetailReqType ServiceDetailReq ; - struct v2gPhysicalValueType EVSEEnergyToBeDelivered ; - struct v2gCableCheckResType CableCheckRes ; - struct v2gPhysicalValueType EVMaxVoltage ; - struct v2gPhysicalValueType RemainingTimeToBulkSoC ; - struct v2gNotificationType Notification ; - struct v2gParameterType Parameter ; - int8_t amountMultiplier ; - struct v2gPhysicalValueType EVSEMaximumVoltageLimit ; - struct v2gChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; - v2gfaultCodeType FaultCode ; - struct v2gChargingProfileType ChargingProfile ; - v2gDC_EVSEStatusCodeType EVSEStatusCode ; - struct { - uint8_t bytes[EXIFragment_Exponent_BYTES_SIZE]; - uint16_t bytesLen; - } Exponent ; - struct v2gServiceDetailResType ServiceDetailRes ; - struct v2gPreChargeReqType PreChargeReq ; - struct v2gPhysicalValueType EVSEMaximumPowerLimit ; - uint16_t ServiceID ; - int8_t ChargingProfileEntryMaxNumberOfPhasesInUse ; - struct { - uint8_t bytes[EXIFragment_J_BYTES_SIZE]; - uint16_t bytesLen; - } J ; - struct v2gRelativeTimeIntervalType RelativeTimeInterval ; - struct v2gCertificateUpdateReqType CertificateUpdateReq ; - struct v2gTransformsType Transforms ; - struct { - uint8_t bytes[EXIFragment_X509CRL_BYTES_SIZE]; - uint16_t bytesLen; - } X509CRL ; - struct v2gManifestType Manifest ; + struct v2gPhysicalValueType EVMaximumVoltage ; + uint32_t FrequencyChannel ; + v2gEVSEProcessingType EVProcessing ; int BulkChargingComplete ; - int ChargingComplete ; - struct v2gDC_EVSEStatusType DC_EVSEStatus ; - v2gEVSENotificationType EVSENotification ; - int EVSEPowerLimitAchieved ; - struct { - exi_string_character_t characters[EXIFragment_ServiceScope_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceScope ; - int64_t EVSETimeStamp ; - struct { - uint8_t bytes[EXIFragment_OEMProvisioningCert_BYTES_SIZE]; - uint16_t bytesLen; - } OEMProvisioningCert ; - struct { - exi_string_character_t characters[EXIFragment_MeterID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MeterID ; - uint8_t SalesTariffID ; - int64_t TMeter ; - int8_t byteValue ; - struct v2gDigestMethodType DigestMethod ; - struct { - exi_string_character_t characters[EXIFragment_FaultMsg_CHARACTERS_SIZE]; - uint16_t charactersLen; - } FaultMsg ; - int8_t FullSOC ; - struct v2gWeldingDetectionReqType WeldingDetectionReq ; - struct v2gSAScheduleListType SAScheduleList ; - struct { - exi_string_character_t characters[EXIFragment_eMAID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } eMAID ; - struct v2gServiceDiscoveryReqType ServiceDiscoveryReq ; - struct v2gPhysicalValueType EVMaxCurrent ; - struct v2gX509IssuerSerialType X509IssuerSerial ; - struct v2gBodyBaseType BodyElement ; - struct v2gEVSEChargeParameterType EVSEChargeParameter ; + v2gparkingMethodType ParkingMethod ; uint8_t SAScheduleTupleID ; - struct v2gPhysicalValueType EVSEPresentCurrent ; - v2gserviceCategoryType ServiceCategory ; - struct v2gEVPowerDeliveryParameterType EVPowerDeliveryParameter ; - struct { - uint8_t bytes[EXIFragment_PGPKeyPacket_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyPacket ; - v2gpaymentOptionType PaymentOption ; - struct v2gCertificateInstallationResType CertificateInstallationRes ; - struct { - uint8_t bytes[EXIFragment_PgenCounter_BYTES_SIZE]; - uint16_t bytesLen; - } PgenCounter ; - struct v2gPhysicalValueType EVMaximumPowerLimit ; - int64_t X509SerialNumber ; - struct v2gBodyType Body ; - struct v2gPhysicalValueType EVTargetVoltage ; - uint8_t EPriceLevel ; - int FreeService ; - struct v2gReferenceType Reference ; - struct v2gCurrentDemandReqType CurrentDemandReq ; - struct v2gSignedInfoType SignedInfo ; - struct v2gIntervalType TimeInterval ; - struct v2gChargeServiceType ChargeService ; - struct v2gServiceType Service ; - int boolValue ; - struct v2gMeteringReceiptReqType MeteringReceiptReq ; - struct { - exi_string_character_t characters[EXIFragment_EVSEID_CHARACTERS_SIZE]; - uint16_t charactersLen; - } EVSEID ; - struct v2gMeterInfoType MeterInfo ; - struct v2gKeyValueType KeyValue ; + struct v2gPhysicalValueType Distance ; + struct v2gParameterSetType ParameterSet ; + struct v2gPhysicalValueType EVMinimumDischargeCurrent ; + uint8_t SignalSeparationTime ; + struct v2gEVSEEnergyTransferParameterType EVSEEnergyTransferParameter ; + struct v2gPhysicalValueType EVSEMaximumVoltage ; + struct v2gDC_EVSEBidirectionalParameterType DC_EVSEBidirectionalParameter ; + v2gchargingSessionType ChargingSession ; + struct v2gSubCertificatesType SubCertificates ; + struct v2gRetrievalMethodType RetrievalMethod ; + struct v2gMagneticVectorSetupListType MagneticVectorSetupList ; + struct v2gParameterSetType PairingParameters ; + struct v2gPhysicalValueType EVSEMinimumPower ; + struct v2gAC_BidirectionalControlReqType AC_BidirectionalControlReq ; + struct v2gCostType Cost ; + struct v2gAC_BidirectionalControlResType AC_BidirectionalControlRes ; + struct v2gSalesTariffType BuyBackTariff ; + int16_t XCoordinate ; + v2gEVCheckOutStatusType EVSECheckOutStatus ; struct { exi_string_character_t characters[EXIFragment_stringValue_CHARACTERS_SIZE]; uint16_t charactersLen; } stringValue ; - struct v2gPhysicalValueType EVSEMaxCurrent ; - struct v2gContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; - struct v2gPhysicalValueType PMax ; - struct v2gPhysicalValueType RemainingTimeToFullSoC ; - struct v2gEVSEStatusType EVSEStatus ; - v2gunitSymbolType Unit ; + int16_t RetryCounter ; + struct v2gPhysicalValueType EVSEMaximumDischargeCurrent ; + struct v2gSensorType Sensor ; + uint64_t MeterReadingCharged ; + int64_t HMACOutputLength ; + struct v2gV2GResponseType V2GResponse ; + struct v2gPhysicalValueType EVMinimumVoltage ; + struct v2gPhysicalValueType EVMinimumEnergyRequest ; + struct v2gRelativeTimeIntervalType RelativeTimeInterval ; + struct v2gWPT_EVChargeParameterType WPT_EVChargeParameter ; + struct v2gSAScheduleTupleType SAScheduleTuple ; + uint16_t ServiceID ; struct { - uint8_t bytes[EXIFragment_Y_BYTES_SIZE]; + uint8_t bytes[EXIFragment_PgenCounter_BYTES_SIZE]; uint16_t bytesLen; - } Y ; - v2gEnergyTransferModeType RequestedEnergyTransferMode ; - struct v2gPhysicalValueType EVSEPeakCurrentRipple ; - struct v2gPhysicalValueType EAmount ; - struct v2gPhysicalValueType EVSEPresentVoltage ; - v2gresponseCodeType ResponseCode ; - struct v2gAC_EVSEChargeParameterType AC_EVSEChargeParameter ; - struct v2gSignatureMethodType SignatureMethod ; - struct v2gAC_EVSEStatusType AC_EVSEStatus ; - int ReceiptRequired ; - uint32_t ChargingProfileEntryStart ; - struct v2gCurrentDemandResType CurrentDemandRes ; - struct v2gConsumptionCostType ConsumptionCost ; - struct v2gServiceParameterListType ServiceParameterList ; - struct v2gPhysicalValueType EVSEMaximumCurrentLimit ; - struct v2gX509DataType X509Data ; - struct { - uint8_t bytes[EXIFragment_Seed_BYTES_SIZE]; - uint16_t bytesLen; - } Seed ; + } PgenCounter ; struct { exi_string_character_t characters[EXIFragment_SalesTariffDescription_CHARACTERS_SIZE]; uint16_t charactersLen; } SalesTariffDescription ; - struct { - uint8_t bytes[EXIFragment_Modulus_BYTES_SIZE]; - uint16_t bytesLen; - } Modulus ; - struct v2gPhysicalValueType EVMaximumVoltageLimit ; - struct { - uint8_t bytes[EXIFragment_Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } Certificate ; - struct v2gCableCheckReqType CableCheckReq ; - struct v2gDC_EVStatusType DC_EVStatus ; - int8_t Multiplier ; - struct v2gKeyInfoType KeyInfo ; - struct v2gPhysicalValueType EVTargetCurrent ; - struct v2gPowerDeliveryReqType PowerDeliveryReq ; - struct { - exi_string_character_t characters[EXIFragment_X509IssuerName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509IssuerName ; - struct v2gSessionStopReqType SessionStopReq ; - struct { - exi_string_character_t characters[EXIFragment_X509SubjectName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } X509SubjectName ; - struct v2gPMaxScheduleEntryType PMaxScheduleEntry ; - v2gchargeProgressType ChargeProgress ; - v2gpaymentOptionType SelectedPaymentOption ; - struct { - exi_string_character_t characters[EXIFragment_MgmtData_CHARACTERS_SIZE]; - uint16_t charactersLen; - } MgmtData ; - struct v2gAC_EVChargeParameterType AC_EVChargeParameter ; - struct v2gPhysicalValueType EVSEMinimumCurrentLimit ; - struct v2gWeldingDetectionResType WeldingDetectionRes ; - struct v2gPhysicalValueType physicalValue ; - struct { - exi_string_character_t characters[EXIFragment_ServiceName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } ServiceName ; - uint8_t NumEPriceLevels ; - v2gEVSEProcessingType EVSEProcessing ; - struct { - uint8_t bytes[EXIFragment_PGPKeyID_BYTES_SIZE]; - uint16_t bytesLen; - } PGPKeyID ; - struct v2gPhysicalValueType startValue ; - struct v2gMeteringReceiptResType MeteringReceiptRes ; - struct v2gPhysicalValueType EVEnergyRequest ; - uint16_t MaxEntriesSAScheduleTuple ; - int EVReady ; - struct { - uint8_t bytes[EXIFragment_X509SKI_BYTES_SIZE]; - uint16_t bytesLen; - } X509SKI ; - struct v2gSignaturePropertiesType SignatureProperties ; - struct { - uint8_t bytes[EXIFragment_P_BYTES_SIZE]; - uint16_t bytesLen; - } P ; - struct v2gSignatureValueType SignatureValue ; - int16_t MeterStatus ; - struct v2gDC_EVSEChargeParameterType DC_EVSEChargeParameter ; - struct v2gSalesTariffType SalesTariff ; - struct v2gSessionSetupReqType SessionSetupReq ; - struct v2gPhysicalValueType EVMinCurrent ; - int16_t RetryCounter ; + struct v2gPhysicalValueType AngleGAtoVA ; + int boolValue ; + struct v2gPhysicalValueType EVMaximumDischargeCurrent ; + struct v2gBodyBaseType ErrorInformation ; + uint16_t NotificationMaxDelay ; + struct v2gPhysicalValueType EVSEMaximumDischargePower ; struct v2gPGPDataType PGPData ; - struct v2gSessionStopResType SessionStopRes ; - struct v2gAuthorizationReqType AuthorizationReq ; - struct v2gServiceDiscoveryResType ServiceDiscoveryRes ; - struct { - uint8_t bytes[EXIFragment_GenChallenge_BYTES_SIZE]; - uint16_t bytesLen; - } GenChallenge ; - struct v2gSAScheduleTupleType SAScheduleTuple ; - struct v2gPaymentServiceSelectionResType PaymentServiceSelectionRes ; - struct v2gDC_EVPowerDeliveryParameterType DC_EVPowerDeliveryParameter ; - int8_t EVRESSSOC ; - struct v2gChargingStatusResType ChargingStatusRes ; - struct v2gCertificateChainType ContractSignatureCertChain ; - struct { - uint8_t bytes[EXIFragment_X509Certificate_BYTES_SIZE]; - uint16_t bytesLen; - } X509Certificate ; - struct v2gPhysicalValueType EVMaximumCurrentLimit ; - struct { - uint8_t bytes[EXIFragment_SPKISexp_BYTES_SIZE]; - uint16_t bytesLen; - } SPKISexp ; - struct v2gCanonicalizationMethodType CanonicalizationMethod ; - uint32_t duration ; - struct v2gParameterSetType ParameterSet ; - struct v2gChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; - struct { - uint8_t bytes[EXIFragment_SigMeterReading_BYTES_SIZE]; - uint16_t bytesLen; - } SigMeterReading ; - struct v2gSASchedulesType SASchedules ; - struct v2gSessionSetupResType SessionSetupRes ; - struct v2gSupportedEnergyTransferModeType SupportedEnergyTransferMode ; - struct v2gSPKIDataType SPKIData ; - struct v2gObjectType Object ; - struct v2gDSAKeyValueType DSAKeyValue ; - struct v2gSignatureType Signature ; - struct v2gTransformType Transform ; - struct v2gChargingStatusReqType ChargingStatusReq ; - uint32_t amount ; - struct v2gSelectedServiceListType SelectedServiceList ; + struct v2gPhysicalValueType EVSEMaximumChargePower ; struct { uint8_t bytes[EXIFragment_SessionID_BYTES_SIZE]; uint16_t bytesLen; } SessionID ; - struct { - uint8_t bytes[EXIFragment_G_BYTES_SIZE]; - uint16_t bytesLen; - } G ; - uint32_t start ; - struct v2gPaymentOptionListType PaymentOptionList ; - struct v2gCostType Cost ; - struct v2gMessageHeaderType Header ; - struct v2gPMaxScheduleType PMaxSchedule ; - struct v2gPhysicalValueType EVSEMinimumVoltageLimit ; - struct v2gProfileEntryType ProfileEntry ; + struct v2gPhysicalValueType EVSEEnergyToBeDelivered ; + struct v2gPhysicalValueType EVMaximumPower ; + struct v2gPhysicalValueType EVMaximumCurrent ; + struct v2gRSAKeyValueType RSAKeyValue ; struct v2gPhysicalValueType EVSENominalVoltage ; - struct v2gEVStatusType EVStatus ; - struct v2gSelectedServiceType SelectedService ; - v2gEnergyTransferModeType EnergyTransferMode ; - int EVSECurrentLimitAchieved ; - int16_t Value ; - struct { - exi_string_character_t characters[EXIFragment_KeyName_CHARACTERS_SIZE]; - uint16_t charactersLen; - } KeyName ; - struct v2gPaymentServiceSelectionReqType PaymentServiceSelectionReq ; - int EVSEVoltageLimitAchieved ; - struct v2gPowerDeliveryResType PowerDeliveryRes ; - struct { - uint8_t bytes[EXIFragment_DigestValue_BYTES_SIZE]; - uint16_t bytesLen; - } DigestValue ; - int16_t ParameterSetID ; - struct v2gSubCertificatesType SubCertificates ; - struct v2gDiffieHellmanPublickeyType DHpublickey ; - struct v2gCertificateInstallationReqType CertificateInstallationReq ; - int16_t shortValue ; - struct v2gCertificateChainType SAProvisioningCertificateChain ; - int RCD ; - struct v2gPhysicalValueType EVEnergyCapacity ; - struct v2gRetrievalMethodType RetrievalMethod ; - struct v2gPaymentDetailsReqType PaymentDetailsReq ; - uint16_t NotificationMaxDelay ; - struct v2gEntryType Entry ; - struct v2gX509IssuerSerialType RootCertificateID ; - struct v2gAuthorizationResType AuthorizationRes ; - v2gcostKindType costKind ; - uint32_t DepartureTime ; - v2gisolationLevelType EVSEIsolationStatus ; - struct v2gDC_EVChargeParameterType DC_EVChargeParameter ; - struct v2gAnonType_V2G_Message V2G_Message ; - struct v2gPhysicalValueType EVSECurrentRegulationTolerance ; - struct { - uint8_t bytes[EXIFragment_EVCCID_BYTES_SIZE]; - uint16_t bytesLen; - } EVCCID ; - struct v2gEVChargeParameterType EVChargeParameter ; - struct v2gPhysicalValueType ChargingProfileEntryMaxPower ; - int64_t HMACOutputLength ; - int32_t intValue ; - struct v2gServiceListType ServiceList ; - struct v2gSignaturePropertyType SignatureProperty ; - int8_t BulkSOC ; - struct v2gSalesTariffEntryType SalesTariffEntry ; - v2gDC_EVErrorCodeType EVErrorCode ; - struct v2gPreChargeResType PreChargeRes ; - struct v2gCertificateUpdateResType CertificateUpdateRes ; - uint64_t MeterReading ; - struct v2gListOfRootCertificateIDsType ListOfRootCertificateIDs ; - v2gchargingSessionType ChargingSession ; - struct v2gPaymentDetailsResType PaymentDetailsRes ; + struct v2gMagneticVectorType MagneticVector ; struct { exi_string_character_t characters[EXIFragment_XPath_CHARACTERS_SIZE]; uint16_t charactersLen; } XPath ; + struct v2gSignatureType Signature ; + v2gelectricalChargingDeviceStatusType EVElectricalChargingDeviceStatus ; + v2gEVSEProcessingType EVSEProcessing ; + v2gFODStatusType FODStatus ; + struct v2gPowerDeliveryResType PowerDeliveryRes ; + struct v2gV2GResponseType SessionStopRes ; + struct v2gWPT_EVSEChargeParameterType WPT_EVSEChargeParameter ; + v2gresponseCodeType ResponseCode ; + struct v2gPhysicalValueType EVTargetEnergyRequest ; + struct v2gFinePositioningSetupReqType FinePositioningSetupReq ; + struct v2gPhysicalValueType EVSEPresentCurrent ; + struct v2gFinePositioningSetupResType FinePositioningSetupRes ; + struct v2gPMaxScheduleEntryType ProfileEntry ; + struct { + exi_string_character_t characters[EXIFragment_MgmtData_CHARACTERS_SIZE]; + uint16_t charactersLen; + } MgmtData ; + struct v2gCertificateChainType SAProvisioningCertificateChain ; + struct v2gPowerDeliveryReqType PowerDeliveryReq ; + struct v2gSessionStopReqType SessionStopReq ; + int ReceiptRequired ; + struct v2gChargingProfileType ChargingProfile ; + uint16_t MaxSupportingPoints ; + uint32_t start ; + struct v2gPhysicalValueType EVMinimumChargePower ; + struct v2gPhysicalValueType amount ; + struct v2gPreChargeReqType PreChargeReq ; + struct { + uint8_t bytes[EXIFragment_OEMProvisioningCert_BYTES_SIZE]; + uint16_t bytesLen; + } OEMProvisioningCert ; + uint32_t PackageIndex ; + struct v2gPreChargeResType PreChargeRes ; + struct { + uint8_t bytes[EXIFragment_P_BYTES_SIZE]; + uint16_t bytesLen; + } P ; struct { uint8_t bytes[EXIFragment_Q_BYTES_SIZE]; uint16_t bytesLen; } Q ; + struct { + exi_string_character_t characters[EXIFragment_X509SubjectName_CHARACTERS_SIZE]; + uint16_t charactersLen; + } X509SubjectName ; + struct { + uint8_t bytes[EXIFragment_G_BYTES_SIZE]; + uint16_t bytesLen; + } G ; + struct { + uint8_t bytes[EXIFragment_J_BYTES_SIZE]; + uint16_t bytesLen; + } J ; + struct v2gCertificateChainType ContractSignatureCertChain ; + struct v2gMV_EVSEFinePositioningSetupParametersType MV_EVSEFinePositioningSetupParameters ; + struct v2gPhysicalValueType EVSEMinimumDischargeCurrent ; + struct v2gPhysicalValueType EVMaximumChargeCurrent ; + uint16_t AlignmentOffset ; + struct { + uint8_t bytes[EXIFragment_Y_BYTES_SIZE]; + uint16_t bytesLen; + } Y ; + int8_t RemainingTimeToTargetSOC ; + struct { + uint8_t bytes[EXIFragment_DigestValue_BYTES_SIZE]; + uint16_t bytesLen; + } DigestValue ; + struct v2gSensorMeasurementsType SensorMeasurements ; + struct v2gSalesTariffType SalesTariff ; + struct { + uint8_t bytes[EXIFragment_EVCCID_BYTES_SIZE]; + uint16_t bytesLen; + } EVCCID ; + struct v2gPhysicalValueType EVSEMaximumPower ; + struct v2gTargetPositionType TargetOffset ; + struct v2gParameterSetType PowerDemandParameters ; + struct { + uint8_t bytes[EXIFragment_PGPKeyID_BYTES_SIZE]; + uint16_t bytesLen; + } PGPKeyID ; + struct v2gDisconnectChargingDeviceReqType DisconnectChargingDeviceReq ; + struct v2gDisconnectChargingDeviceResType DisconnectChargingDeviceRes ; + struct v2gDSAKeyValueType DSAKeyValue ; + struct v2gSalesTariffEntryType SalesTariffEntry ; + struct v2gCertificateInstallationResType CertificateInstallationRes ; + struct v2gCanonicalizationMethodType CanonicalizationMethod ; + struct v2gGeneric_EVFinePositioningParametersType Generic_EVFinePositioningParameters ; + struct v2gPhysicalValueType EVSEMinimumVoltage ; + struct v2gSystemStatusResType SystemStatusRes ; + struct v2gPhysicalValueType EVSEOutputPower ; + struct v2gSignedInfoType SignedInfo ; + struct v2gPhysicalValueType EVMinimumChargeCurrent ; + v2gcostKindType costKind ; + struct v2gSystemStatusReqType SystemStatusReq ; + struct v2gBodyBaseType CableCheckReq ; + uint8_t NumEPriceLevels ; + int EVSEVoltageLimitAchieved ; + uint8_t PackageSeparationTime ; + struct v2gCableCheckResType CableCheckRes ; + v2gEVCheckInStatusType EVCheckInStatus ; + struct v2gPMaxScheduleType PMaxDischargeSchedule ; + struct v2gPhysicalValueType EVMinimumPower ; + struct v2gPhysicalValueType ChargingPerformance ; + struct v2gAlignmentCheckReqType AlignmentCheckReq ; + v2gmechanicalChargingDeviceStatusType EVMechanicalChargingDeviceStatus ; + uint16_t VehicleSpace ; + struct v2gAlignmentCheckResType AlignmentCheckRes ; + struct v2gPhysicalValueType EVMinimumDischargePower ; + int8_t RemainingTimeToMinimumSOC ; + struct v2gAuthorizationResType AuthorizationRes ; + struct v2gCertificateInstallationReqType CertificateInstallationReq ; + struct v2gPaymentDetailsReqType PaymentDetailsReq ; + struct v2gPaymentDetailsResType PaymentDetailsRes ; + struct v2gAuthorizationReqType AuthorizationReq ; + struct v2gPhysicalValueType EVTargetCurrent ; + struct v2gSessionSetupReqType SessionSetupReq ; + struct v2gSessionSetupResType SessionSetupRes ; + struct v2gPhysicalValueType EVSENominalFrequency ; + struct v2gMessageHeaderType Header ; + uint8_t NumberOfSensors ; + int64_t EVSETimeStamp ; + int16_t MeterStatus ; + struct v2gMV_EVSEFinePositioningParametersType MV_EVSEFinePositioningParameters ; + v2gchargeProgressType ChargeProgress ; + struct { + exi_string_character_t characters[EXIFragment_KeyName_CHARACTERS_SIZE]; + uint16_t charactersLen; + } KeyName ; + struct v2gPMaxScheduleType PMaxSchedule ; + uint32_t duration ; + int8_t RemainingTimeToBulkSOC ; + struct v2gCartesianCoordinatesType SensorOrientation ; + struct v2gPhysicalValueType EVSEMaximumChargeCurrent ; + struct v2gVehicleCheckInResType VehicleCheckInRes ; + struct v2gPMaxScheduleEntryType PMaxScheduleEntry ; + struct v2gSAScheduleListType SAScheduleList ; + struct { + uint8_t bytes[EXIFragment_X509SKI_BYTES_SIZE]; + uint16_t bytesLen; + } X509SKI ; + struct v2gPaymentOptionListType PaymentOptionList ; + struct v2gContractSignatureEncryptedPrivateKeyType ContractSignatureEncryptedPrivateKey ; + struct v2gVehicleCheckInReqType VehicleCheckInReq ; + struct { + uint8_t bytes[EXIFragment_Certificate_BYTES_SIZE]; + uint16_t bytesLen; + } Certificate ; + uint64_t CheckOutTime ; + int8_t CurrentSOC ; + int16_t ZCoordinate ; + uint16_t MeasurementData ; + struct v2gPairingResType PairingRes ; + struct v2gPhysicalValueType EVSEMaximumCurrent ; + struct v2gLFA_EVFinePositioningParametersType LFA_EVFinePositioningParameters ; + struct v2gParameterSetType AlignmentCheckParameters ; + int8_t EffectiveRadiatedPower ; + struct v2gEVErrorInformationType EVErrorInformation ; + struct v2gPairingReqType PairingReq ; + int16_t Value ; + int8_t byteValue ; + struct v2gCurrentDemandReqType CurrentDemandReq ; + struct v2gGeneric_EVSEFinePositioningParametersType Generic_EVSEFinePositioningParameters ; + struct v2gCurrentDemandResType CurrentDemandRes ; + struct v2gAC_EVBidirectionalParameterType AC_EVBidirectionalParameter ; + struct { + uint8_t bytes[EXIFragment_Modulus_BYTES_SIZE]; + uint16_t bytesLen; + } Modulus ; + struct v2gSelectedServiceType SelectedEnergyTransferService ; + struct v2gPhysicalValueType startValue ; + struct v2gSelectedServiceListType SelectedVASList ; + struct v2gChargeParameterDiscoveryReqType ChargeParameterDiscoveryReq ; + struct v2gChargeParameterDiscoveryResType ChargeParameterDiscoveryRes ; + struct { + uint8_t bytes[EXIFragment_SigMeterReading_BYTES_SIZE]; + uint16_t bytesLen; + } SigMeterReading ; + int8_t TargetSOC ; + struct v2gEVSEStatusType EVSEStatus ; + struct v2gPhysicalValueType EVSEMinimumChargeCurrent ; + v2gelectricalChargingDeviceStatusType EVSEElectricalChargingDeviceStatus ; + int64_t X509SerialNumber ; + v2gpaymentOptionType PaymentOption ; + struct v2gTransformsType Transforms ; + struct v2gPhysicalValueType EVSEPeakCurrentRipple ; + struct v2gConsumptionCostType ConsumptionCost ; + struct v2gEVSEFinePositioningSetupParametersType EVSEFinePositioningSetupParameters ; + uint8_t EPriceLevel ; + struct { + uint8_t bytes[EXIFragment_Exponent_BYTES_SIZE]; + uint16_t bytesLen; + } Exponent ; + struct v2gX509IssuerSerialType X509IssuerSerial ; + struct v2gSPKIDataType SPKIData ; + struct v2gMagneticVectorListType MagneticVectorList ; + struct v2gEVSEFinePositioningParametersType EVSEFinePositioningParameters ; + struct v2gPhysicalValueType EVTargetPower ; + struct v2gSensorPackageListType SensorPackageList ; + uint32_t DepartureTime ; + struct v2gLF_EVSEFinePositioningParametersType LF_EVSEFinePositioningParameters ; + int InletHot ; + struct v2gPhysicalValueType EVPresentActivePower ; + struct v2gX509DataType X509Data ; + int16_t YCoordinate ; + struct v2gKeyValueType KeyValue ; + struct v2gDisplayParametersType DisplayParameters ; + int EVSEPowerLimitAchieved ; + struct v2gBodyType Body ; + struct v2gDC_EVChargeParameterType DC_EVChargeParameter ; + struct v2gServiceType Service ; + struct v2gSignaturePropertyType SignatureProperty ; + struct { + uint8_t bytes[EXIFragment_PGPKeyPacket_BYTES_SIZE]; + uint16_t bytesLen; + } PGPKeyPacket ; + struct { + uint8_t bytes[EXIFragment_Seed_BYTES_SIZE]; + uint16_t bytesLen; + } Seed ; + struct v2gLFA_EVFinePositioningSetupParametersType LFA_EVFinePositioningSetupParameters ; + struct v2gMinimumPMaxRequestType MinimumPMaxRequest ; + struct v2gFinePositioningReqType FinePositioningReq ; + struct v2gServiceListType EnergyTransferServiceList ; + struct v2gFinePositioningResType FinePositioningRes ; + struct v2gAC_EVSEBidirectionalParameterType AC_EVSEBidirectionalParameter ; + int FreeService ; + struct v2gAC_EVSEChargeParameterType AC_EVSEChargeParameter ; + uint8_t SensorID ; + struct v2gPhysicalValueType EVSECurrentRegulationTolerance ; + v2gmechanicalChargingDeviceStatusType EVSEMechanicalChargingDeviceStatus ; + struct v2gEVEnergyTransferParameterType EVEnergyTransferParameter ; + uint8_t SignalPulseDuration ; + int16_t shortValue ; + struct v2gManifestType Manifest ; + struct v2gDC_EVSEChargeParameterType DC_EVSEChargeParameter ; + struct v2gMeteringReceiptReqType MeteringReceiptReq ; + struct { + exi_string_character_t characters[EXIFragment_MeterID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } MeterID ; + struct v2gV2GResponseType MeteringReceiptRes ; + struct v2gServiceDiscoveryReqType ServiceDiscoveryReq ; + uint8_t SalesTariffID ; + struct v2gServiceDiscoveryResType ServiceDiscoveryRes ; + struct { + uint8_t bytes[EXIFragment_X509CRL_BYTES_SIZE]; + uint16_t bytesLen; + } X509CRL ; + struct v2gMagneticVectorSetupType MagneticVectorSetup ; + v2gEVErrorCodeType ErrorCode ; + struct v2gDigestMethodType DigestMethod ; + struct { + uint8_t bytes[EXIFragment_SPKISexp_BYTES_SIZE]; + uint16_t bytesLen; + } SPKISexp ; + uint64_t MeterReadingDischarged ; + struct v2gSignaturePropertiesType SignatureProperties ; + struct v2gCartesianCoordinatesType SensorPosition ; + struct v2gLFA_EVSEFinePositioningSetupParametersType LFA_EVSEFinePositioningSetupParameters ; + struct v2gEMAIDType eMAID ; + struct v2gSensorPackageType SensorPackage ; + v2gEVCheckOutStatusType EVCheckOutStatus ; + struct { + uint8_t bytes[EXIFragment_X509Certificate_BYTES_SIZE]; + uint16_t bytesLen; + } X509Certificate ; + struct v2gX509IssuerSerialType RootCertificateID ; + struct v2gDC_BidirectionalControlReqType DC_BidirectionalControlReq ; + struct v2gPhysicalValueType EVSEPresentVoltage ; + struct v2gDC_BidirectionalControlResType DC_BidirectionalControlRes ; + struct v2gServiceListType VASList ; + struct v2gMeterInfoType MeterInfo ; + struct v2gPhysicalValueType EVSETargetReactivePower ; + struct v2gChargingStatusReqType ChargingStatusReq ; + struct v2gParameterSetType GenericParameters ; + struct v2gChargingStatusResType ChargingStatusRes ; + struct v2gPhysicalValueType EVMaximumChargePower ; + int8_t BulkSOC ; + uint8_t NumberOfSignalPackages ; + uint16_t ParameterSetID ; + struct v2gPhysicalValueType PMax ; + struct v2gPhysicalValueType EVMaximumEnergyRequest ; + v2gEVOperationType EVOperation ; + struct v2gCertificateUpdateResType CertificateUpdateRes ; + int ChargingComplete ; + struct v2gListOfRootCertificateIDsType ListOfRootCertificateIDs ; + struct v2gPhysicalValueType RotationVAtoGA ; + struct v2gPhysicalValueType EVTargetVoltage ; + struct v2gCertificateUpdateReqType CertificateUpdateReq ; + struct v2gConnectChargingDeviceResType ConnectChargingDeviceRes ; + struct v2gDiffieHellmanPublickeyType DHpublickey ; + struct v2gServiceParameterListType ServiceParameterList ; + struct v2gSignatureValueType SignatureValue ; + struct v2gPhysicalValueType physicalValue ; + v2goperationModeType OperationMode ; + int EVSECurrentLimitAchieved ; + struct v2gServiceDetailReqType ServiceDetailReq ; + struct v2gServiceDetailResType ServiceDetailRes ; + int32_t intValue ; + struct v2gPhysicalValueType EVMaximumDischargePower ; + int8_t MinimumSOC ; + v2gpaymentOptionType SelectedPaymentOption ; + struct v2gAnonType_V2G_Message V2G_Message ; + struct { + exi_string_character_t characters[EXIFragment_EVSEID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } EVSEID ; + int64_t TMeter ; + uint8_t SensorOrder ; + struct v2gServiceIDListType SupportedServiceIDs ; + struct { + uint8_t bytes[EXIFragment_GenChallenge_BYTES_SIZE]; + uint16_t bytesLen; + } GenChallenge ; + struct v2gEVFinePositioningParametersType EVFinePositioningParameters ; + struct v2gSensorListType SensorList ; + struct v2gKeyInfoType KeyInfo ; + struct v2gConnectChargingDeviceReqType ConnectChargingDeviceReq ; + struct v2gAC_EVChargeParameterType AC_EVChargeParameter ; + struct v2gParameterType Parameter ; + struct v2gWeldingDetectionResType WeldingDetectionRes ; + struct { + exi_string_character_t characters[EXIFragment_GAID_CHARACTERS_SIZE]; + uint16_t charactersLen; + } GAID ; + uint16_t SignalFrequency ; + struct v2gPhysicalValueType EVSETargetPower ; + struct v2gDC_EVBidirectionalParameterType DC_EVBidirectionalParameter ; + struct v2gSignatureMethodType SignatureMethod ; + struct v2gBodyBaseType WeldingDetectionReq ; + struct v2gSelectedServiceType SelectedService ; + struct v2gEVSEErrorInformationType EVSEErrorInformation ; + struct v2gPhysicalValueType EVInputPower ; + struct v2gVehicleCheckOutReqType VehicleCheckOutReq ; + struct v2gPowerDemandReqType PowerDemandReq ; + struct v2gVehicleCheckOutResType VehicleCheckOutRes ; + uint16_t CurrentRange ; + struct v2gPhysicalValueType EVPresentReactivePower ; + struct { + exi_string_character_t characters[EXIFragment_X509IssuerName_CHARACTERS_SIZE]; + uint16_t charactersLen; + } X509IssuerName ; + struct v2gBodyBaseType V2GRequest ; + struct v2gReferenceType Reference ; + struct v2gBodyBaseType BodyElement ; + struct v2gPMaxScheduleEntryType MinimumPMaxScheduleEntry ; + struct v2gEVFinePositioningSetupParametersType EVFinePositioningSetupParameters ; + v2gEVSENotificationType EVSENotification ; + struct v2gPaymentServiceSelectionReqType PaymentServiceSelectionReq ; + struct v2gV2GResponseType PaymentServiceSelectionRes ; + struct v2gTransformType Transform ; + struct v2gObjectType Object ; + uint16_t TargetOffsetY ; + struct v2gPowerDemandResType PowerDemandRes ; + uint16_t TargetOffsetX ; #if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES }; #endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */ - unsigned int RSAKeyValue_isUsed:1; - unsigned int ServiceDetailReq_isUsed:1; - unsigned int EVSEEnergyToBeDelivered_isUsed:1; - unsigned int CableCheckRes_isUsed:1; - unsigned int EVMaxVoltage_isUsed:1; - unsigned int RemainingTimeToBulkSoC_isUsed:1; - unsigned int Notification_isUsed:1; - unsigned int Parameter_isUsed:1; - unsigned int amountMultiplier_isUsed:1; - unsigned int EVSEMaximumVoltageLimit_isUsed:1; - unsigned int ChargeParameterDiscoveryRes_isUsed:1; - unsigned int FaultCode_isUsed:1; - unsigned int ChargingProfile_isUsed:1; - unsigned int EVSEStatusCode_isUsed:1; - unsigned int Exponent_isUsed:1; - unsigned int ServiceDetailRes_isUsed:1; - unsigned int PreChargeReq_isUsed:1; - unsigned int EVSEMaximumPowerLimit_isUsed:1; - unsigned int ServiceID_isUsed:1; - unsigned int ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed:1; - unsigned int J_isUsed:1; - unsigned int RelativeTimeInterval_isUsed:1; - unsigned int CertificateUpdateReq_isUsed:1; - unsigned int Transforms_isUsed:1; - unsigned int X509CRL_isUsed:1; - unsigned int Manifest_isUsed:1; + unsigned int EVMaximumVoltage_isUsed:1; + unsigned int FrequencyChannel_isUsed:1; + unsigned int EVProcessing_isUsed:1; unsigned int BulkChargingComplete_isUsed:1; - unsigned int ChargingComplete_isUsed:1; - unsigned int DC_EVSEStatus_isUsed:1; - unsigned int EVSENotification_isUsed:1; - unsigned int EVSEPowerLimitAchieved_isUsed:1; - unsigned int ServiceScope_isUsed:1; - unsigned int EVSETimeStamp_isUsed:1; - unsigned int OEMProvisioningCert_isUsed:1; - unsigned int MeterID_isUsed:1; - unsigned int SalesTariffID_isUsed:1; - unsigned int TMeter_isUsed:1; - unsigned int byteValue_isUsed:1; - unsigned int DigestMethod_isUsed:1; - unsigned int FaultMsg_isUsed:1; - unsigned int FullSOC_isUsed:1; - unsigned int WeldingDetectionReq_isUsed:1; - unsigned int SAScheduleList_isUsed:1; - unsigned int eMAID_isUsed:1; - unsigned int ServiceDiscoveryReq_isUsed:1; - unsigned int EVMaxCurrent_isUsed:1; - unsigned int X509IssuerSerial_isUsed:1; - unsigned int BodyElement_isUsed:1; - unsigned int EVSEChargeParameter_isUsed:1; + unsigned int ParkingMethod_isUsed:1; unsigned int SAScheduleTupleID_isUsed:1; - unsigned int EVSEPresentCurrent_isUsed:1; - unsigned int ServiceCategory_isUsed:1; - unsigned int EVPowerDeliveryParameter_isUsed:1; - unsigned int PGPKeyPacket_isUsed:1; - unsigned int PaymentOption_isUsed:1; - unsigned int CertificateInstallationRes_isUsed:1; - unsigned int PgenCounter_isUsed:1; - unsigned int EVMaximumPowerLimit_isUsed:1; - unsigned int X509SerialNumber_isUsed:1; - unsigned int Body_isUsed:1; - unsigned int EVTargetVoltage_isUsed:1; - unsigned int EPriceLevel_isUsed:1; - unsigned int FreeService_isUsed:1; - unsigned int Reference_isUsed:1; - unsigned int CurrentDemandReq_isUsed:1; - unsigned int SignedInfo_isUsed:1; - unsigned int TimeInterval_isUsed:1; - unsigned int ChargeService_isUsed:1; - unsigned int Service_isUsed:1; - unsigned int boolValue_isUsed:1; - unsigned int MeteringReceiptReq_isUsed:1; - unsigned int EVSEID_isUsed:1; - unsigned int MeterInfo_isUsed:1; - unsigned int KeyValue_isUsed:1; - unsigned int stringValue_isUsed:1; - unsigned int EVSEMaxCurrent_isUsed:1; - unsigned int ContractSignatureEncryptedPrivateKey_isUsed:1; - unsigned int PMax_isUsed:1; - unsigned int RemainingTimeToFullSoC_isUsed:1; - unsigned int EVSEStatus_isUsed:1; - unsigned int Unit_isUsed:1; - unsigned int Y_isUsed:1; - unsigned int RequestedEnergyTransferMode_isUsed:1; - unsigned int EVSEPeakCurrentRipple_isUsed:1; - unsigned int EAmount_isUsed:1; - unsigned int EVSEPresentVoltage_isUsed:1; - unsigned int ResponseCode_isUsed:1; - unsigned int AC_EVSEChargeParameter_isUsed:1; - unsigned int SignatureMethod_isUsed:1; - unsigned int AC_EVSEStatus_isUsed:1; - unsigned int ReceiptRequired_isUsed:1; - unsigned int ChargingProfileEntryStart_isUsed:1; - unsigned int CurrentDemandRes_isUsed:1; - unsigned int ConsumptionCost_isUsed:1; - unsigned int ServiceParameterList_isUsed:1; - unsigned int EVSEMaximumCurrentLimit_isUsed:1; - unsigned int X509Data_isUsed:1; - unsigned int Seed_isUsed:1; - unsigned int SalesTariffDescription_isUsed:1; - unsigned int Modulus_isUsed:1; - unsigned int EVMaximumVoltageLimit_isUsed:1; - unsigned int Certificate_isUsed:1; - unsigned int CableCheckReq_isUsed:1; - unsigned int DC_EVStatus_isUsed:1; - unsigned int Multiplier_isUsed:1; - unsigned int KeyInfo_isUsed:1; - unsigned int EVTargetCurrent_isUsed:1; - unsigned int PowerDeliveryReq_isUsed:1; - unsigned int X509IssuerName_isUsed:1; - unsigned int SessionStopReq_isUsed:1; - unsigned int X509SubjectName_isUsed:1; - unsigned int PMaxScheduleEntry_isUsed:1; - unsigned int ChargeProgress_isUsed:1; - unsigned int SelectedPaymentOption_isUsed:1; - unsigned int MgmtData_isUsed:1; - unsigned int AC_EVChargeParameter_isUsed:1; - unsigned int EVSEMinimumCurrentLimit_isUsed:1; - unsigned int WeldingDetectionRes_isUsed:1; - unsigned int physicalValue_isUsed:1; - unsigned int ServiceName_isUsed:1; - unsigned int NumEPriceLevels_isUsed:1; - unsigned int EVSEProcessing_isUsed:1; - unsigned int PGPKeyID_isUsed:1; - unsigned int startValue_isUsed:1; - unsigned int MeteringReceiptRes_isUsed:1; - unsigned int EVEnergyRequest_isUsed:1; - unsigned int MaxEntriesSAScheduleTuple_isUsed:1; - unsigned int EVReady_isUsed:1; - unsigned int X509SKI_isUsed:1; - unsigned int SignatureProperties_isUsed:1; - unsigned int P_isUsed:1; - unsigned int SignatureValue_isUsed:1; - unsigned int MeterStatus_isUsed:1; - unsigned int DC_EVSEChargeParameter_isUsed:1; - unsigned int SalesTariff_isUsed:1; - unsigned int SessionSetupReq_isUsed:1; - unsigned int EVMinCurrent_isUsed:1; - unsigned int RetryCounter_isUsed:1; - unsigned int PGPData_isUsed:1; - unsigned int SessionStopRes_isUsed:1; - unsigned int AuthorizationReq_isUsed:1; - unsigned int ServiceDiscoveryRes_isUsed:1; - unsigned int GenChallenge_isUsed:1; - unsigned int SAScheduleTuple_isUsed:1; - unsigned int PaymentServiceSelectionRes_isUsed:1; - unsigned int DC_EVPowerDeliveryParameter_isUsed:1; - unsigned int EVRESSSOC_isUsed:1; - unsigned int ChargingStatusRes_isUsed:1; - unsigned int ContractSignatureCertChain_isUsed:1; - unsigned int X509Certificate_isUsed:1; - unsigned int EVMaximumCurrentLimit_isUsed:1; - unsigned int SPKISexp_isUsed:1; - unsigned int CanonicalizationMethod_isUsed:1; - unsigned int duration_isUsed:1; + unsigned int Distance_isUsed:1; unsigned int ParameterSet_isUsed:1; - unsigned int ChargeParameterDiscoveryReq_isUsed:1; - unsigned int SigMeterReading_isUsed:1; - unsigned int SASchedules_isUsed:1; - unsigned int SessionSetupRes_isUsed:1; - unsigned int SupportedEnergyTransferMode_isUsed:1; - unsigned int SPKIData_isUsed:1; - unsigned int Object_isUsed:1; - unsigned int DSAKeyValue_isUsed:1; - unsigned int Signature_isUsed:1; - unsigned int Transform_isUsed:1; - unsigned int ChargingStatusReq_isUsed:1; - unsigned int amount_isUsed:1; - unsigned int SelectedServiceList_isUsed:1; - unsigned int SessionID_isUsed:1; - unsigned int G_isUsed:1; - unsigned int start_isUsed:1; - unsigned int PaymentOptionList_isUsed:1; - unsigned int Cost_isUsed:1; - unsigned int Header_isUsed:1; - unsigned int PMaxSchedule_isUsed:1; - unsigned int EVSEMinimumVoltageLimit_isUsed:1; - unsigned int ProfileEntry_isUsed:1; - unsigned int EVSENominalVoltage_isUsed:1; - unsigned int EVStatus_isUsed:1; - unsigned int SelectedService_isUsed:1; - unsigned int EnergyTransferMode_isUsed:1; - unsigned int EVSECurrentLimitAchieved_isUsed:1; - unsigned int Value_isUsed:1; - unsigned int KeyName_isUsed:1; - unsigned int PaymentServiceSelectionReq_isUsed:1; - unsigned int EVSEVoltageLimitAchieved_isUsed:1; - unsigned int PowerDeliveryRes_isUsed:1; - unsigned int DigestValue_isUsed:1; - unsigned int ParameterSetID_isUsed:1; - unsigned int SubCertificates_isUsed:1; - unsigned int DHpublickey_isUsed:1; - unsigned int CertificateInstallationReq_isUsed:1; - unsigned int shortValue_isUsed:1; - unsigned int SAProvisioningCertificateChain_isUsed:1; - unsigned int RCD_isUsed:1; - unsigned int EVEnergyCapacity_isUsed:1; - unsigned int RetrievalMethod_isUsed:1; - unsigned int PaymentDetailsReq_isUsed:1; - unsigned int NotificationMaxDelay_isUsed:1; - unsigned int Entry_isUsed:1; - unsigned int RootCertificateID_isUsed:1; - unsigned int AuthorizationRes_isUsed:1; - unsigned int costKind_isUsed:1; - unsigned int DepartureTime_isUsed:1; - unsigned int EVSEIsolationStatus_isUsed:1; - unsigned int DC_EVChargeParameter_isUsed:1; - unsigned int V2G_Message_isUsed:1; - unsigned int EVSECurrentRegulationTolerance_isUsed:1; - unsigned int EVCCID_isUsed:1; - unsigned int EVChargeParameter_isUsed:1; - unsigned int ChargingProfileEntryMaxPower_isUsed:1; - unsigned int HMACOutputLength_isUsed:1; - unsigned int intValue_isUsed:1; - unsigned int ServiceList_isUsed:1; - unsigned int SignatureProperty_isUsed:1; - unsigned int BulkSOC_isUsed:1; - unsigned int SalesTariffEntry_isUsed:1; - unsigned int EVErrorCode_isUsed:1; - unsigned int PreChargeRes_isUsed:1; - unsigned int CertificateUpdateRes_isUsed:1; - unsigned int MeterReading_isUsed:1; - unsigned int ListOfRootCertificateIDs_isUsed:1; + unsigned int EVMinimumDischargeCurrent_isUsed:1; + unsigned int SignalSeparationTime_isUsed:1; + unsigned int EVSEEnergyTransferParameter_isUsed:1; + unsigned int EVSEMaximumVoltage_isUsed:1; + unsigned int DC_EVSEBidirectionalParameter_isUsed:1; unsigned int ChargingSession_isUsed:1; - unsigned int PaymentDetailsRes_isUsed:1; + unsigned int SubCertificates_isUsed:1; + unsigned int RetrievalMethod_isUsed:1; + unsigned int MagneticVectorSetupList_isUsed:1; + unsigned int PairingParameters_isUsed:1; + unsigned int EVSEMinimumPower_isUsed:1; + unsigned int AC_BidirectionalControlReq_isUsed:1; + unsigned int Cost_isUsed:1; + unsigned int AC_BidirectionalControlRes_isUsed:1; + unsigned int BuyBackTariff_isUsed:1; + unsigned int XCoordinate_isUsed:1; + unsigned int EVSECheckOutStatus_isUsed:1; + unsigned int stringValue_isUsed:1; + unsigned int RetryCounter_isUsed:1; + unsigned int EVSEMaximumDischargeCurrent_isUsed:1; + unsigned int Sensor_isUsed:1; + unsigned int MeterReadingCharged_isUsed:1; + unsigned int HMACOutputLength_isUsed:1; + unsigned int V2GResponse_isUsed:1; + unsigned int EVMinimumVoltage_isUsed:1; + unsigned int EVMinimumEnergyRequest_isUsed:1; + unsigned int RelativeTimeInterval_isUsed:1; + unsigned int WPT_EVChargeParameter_isUsed:1; + unsigned int SAScheduleTuple_isUsed:1; + unsigned int ServiceID_isUsed:1; + unsigned int PgenCounter_isUsed:1; + unsigned int SalesTariffDescription_isUsed:1; + unsigned int AngleGAtoVA_isUsed:1; + unsigned int boolValue_isUsed:1; + unsigned int EVMaximumDischargeCurrent_isUsed:1; + unsigned int ErrorInformation_isUsed:1; + unsigned int NotificationMaxDelay_isUsed:1; + unsigned int EVSEMaximumDischargePower_isUsed:1; + unsigned int PGPData_isUsed:1; + unsigned int EVSEMaximumChargePower_isUsed:1; + unsigned int SessionID_isUsed:1; + unsigned int EVSEEnergyToBeDelivered_isUsed:1; + unsigned int EVMaximumPower_isUsed:1; + unsigned int EVMaximumCurrent_isUsed:1; + unsigned int RSAKeyValue_isUsed:1; + unsigned int EVSENominalVoltage_isUsed:1; + unsigned int MagneticVector_isUsed:1; unsigned int XPath_isUsed:1; + unsigned int Signature_isUsed:1; + unsigned int EVElectricalChargingDeviceStatus_isUsed:1; + unsigned int EVSEProcessing_isUsed:1; + unsigned int FODStatus_isUsed:1; + unsigned int PowerDeliveryRes_isUsed:1; + unsigned int SessionStopRes_isUsed:1; + unsigned int WPT_EVSEChargeParameter_isUsed:1; + unsigned int ResponseCode_isUsed:1; + unsigned int EVTargetEnergyRequest_isUsed:1; + unsigned int FinePositioningSetupReq_isUsed:1; + unsigned int EVSEPresentCurrent_isUsed:1; + unsigned int FinePositioningSetupRes_isUsed:1; + unsigned int ProfileEntry_isUsed:1; + unsigned int MgmtData_isUsed:1; + unsigned int SAProvisioningCertificateChain_isUsed:1; + unsigned int PowerDeliveryReq_isUsed:1; + unsigned int SessionStopReq_isUsed:1; + unsigned int ReceiptRequired_isUsed:1; + unsigned int ChargingProfile_isUsed:1; + unsigned int MaxSupportingPoints_isUsed:1; + unsigned int start_isUsed:1; + unsigned int EVMinimumChargePower_isUsed:1; + unsigned int amount_isUsed:1; + unsigned int PreChargeReq_isUsed:1; + unsigned int OEMProvisioningCert_isUsed:1; + unsigned int PackageIndex_isUsed:1; + unsigned int PreChargeRes_isUsed:1; + unsigned int P_isUsed:1; unsigned int Q_isUsed:1; + unsigned int X509SubjectName_isUsed:1; + unsigned int G_isUsed:1; + unsigned int J_isUsed:1; + unsigned int ContractSignatureCertChain_isUsed:1; + unsigned int MV_EVSEFinePositioningSetupParameters_isUsed:1; + unsigned int EVSEMinimumDischargeCurrent_isUsed:1; + unsigned int EVMaximumChargeCurrent_isUsed:1; + unsigned int AlignmentOffset_isUsed:1; + unsigned int Y_isUsed:1; + unsigned int RemainingTimeToTargetSOC_isUsed:1; + unsigned int DigestValue_isUsed:1; + unsigned int SensorMeasurements_isUsed:1; + unsigned int SalesTariff_isUsed:1; + unsigned int EVCCID_isUsed:1; + unsigned int EVSEMaximumPower_isUsed:1; + unsigned int TargetOffset_isUsed:1; + unsigned int PowerDemandParameters_isUsed:1; + unsigned int PGPKeyID_isUsed:1; + unsigned int DisconnectChargingDeviceReq_isUsed:1; + unsigned int DisconnectChargingDeviceRes_isUsed:1; + unsigned int DSAKeyValue_isUsed:1; + unsigned int SalesTariffEntry_isUsed:1; + unsigned int CertificateInstallationRes_isUsed:1; + unsigned int CanonicalizationMethod_isUsed:1; + unsigned int Generic_EVFinePositioningParameters_isUsed:1; + unsigned int EVSEMinimumVoltage_isUsed:1; + unsigned int SystemStatusRes_isUsed:1; + unsigned int EVSEOutputPower_isUsed:1; + unsigned int SignedInfo_isUsed:1; + unsigned int EVMinimumChargeCurrent_isUsed:1; + unsigned int costKind_isUsed:1; + unsigned int SystemStatusReq_isUsed:1; + unsigned int CableCheckReq_isUsed:1; + unsigned int NumEPriceLevels_isUsed:1; + unsigned int EVSEVoltageLimitAchieved_isUsed:1; + unsigned int PackageSeparationTime_isUsed:1; + unsigned int CableCheckRes_isUsed:1; + unsigned int EVCheckInStatus_isUsed:1; + unsigned int PMaxDischargeSchedule_isUsed:1; + unsigned int EVMinimumPower_isUsed:1; + unsigned int ChargingPerformance_isUsed:1; + unsigned int AlignmentCheckReq_isUsed:1; + unsigned int EVMechanicalChargingDeviceStatus_isUsed:1; + unsigned int VehicleSpace_isUsed:1; + unsigned int AlignmentCheckRes_isUsed:1; + unsigned int EVMinimumDischargePower_isUsed:1; + unsigned int RemainingTimeToMinimumSOC_isUsed:1; + unsigned int AuthorizationRes_isUsed:1; + unsigned int CertificateInstallationReq_isUsed:1; + unsigned int PaymentDetailsReq_isUsed:1; + unsigned int PaymentDetailsRes_isUsed:1; + unsigned int AuthorizationReq_isUsed:1; + unsigned int EVTargetCurrent_isUsed:1; + unsigned int SessionSetupReq_isUsed:1; + unsigned int SessionSetupRes_isUsed:1; + unsigned int EVSENominalFrequency_isUsed:1; + unsigned int Header_isUsed:1; + unsigned int NumberOfSensors_isUsed:1; + unsigned int EVSETimeStamp_isUsed:1; + unsigned int MeterStatus_isUsed:1; + unsigned int MV_EVSEFinePositioningParameters_isUsed:1; + unsigned int ChargeProgress_isUsed:1; + unsigned int KeyName_isUsed:1; + unsigned int PMaxSchedule_isUsed:1; + unsigned int duration_isUsed:1; + unsigned int RemainingTimeToBulkSOC_isUsed:1; + unsigned int SensorOrientation_isUsed:1; + unsigned int EVSEMaximumChargeCurrent_isUsed:1; + unsigned int VehicleCheckInRes_isUsed:1; + unsigned int PMaxScheduleEntry_isUsed:1; + unsigned int SAScheduleList_isUsed:1; + unsigned int X509SKI_isUsed:1; + unsigned int PaymentOptionList_isUsed:1; + unsigned int ContractSignatureEncryptedPrivateKey_isUsed:1; + unsigned int VehicleCheckInReq_isUsed:1; + unsigned int Certificate_isUsed:1; + unsigned int CheckOutTime_isUsed:1; + unsigned int CurrentSOC_isUsed:1; + unsigned int ZCoordinate_isUsed:1; + unsigned int MeasurementData_isUsed:1; + unsigned int PairingRes_isUsed:1; + unsigned int EVSEMaximumCurrent_isUsed:1; + unsigned int LFA_EVFinePositioningParameters_isUsed:1; + unsigned int AlignmentCheckParameters_isUsed:1; + unsigned int EffectiveRadiatedPower_isUsed:1; + unsigned int EVErrorInformation_isUsed:1; + unsigned int PairingReq_isUsed:1; + unsigned int Value_isUsed:1; + unsigned int byteValue_isUsed:1; + unsigned int CurrentDemandReq_isUsed:1; + unsigned int Generic_EVSEFinePositioningParameters_isUsed:1; + unsigned int CurrentDemandRes_isUsed:1; + unsigned int AC_EVBidirectionalParameter_isUsed:1; + unsigned int Modulus_isUsed:1; + unsigned int SelectedEnergyTransferService_isUsed:1; + unsigned int startValue_isUsed:1; + unsigned int SelectedVASList_isUsed:1; + unsigned int ChargeParameterDiscoveryReq_isUsed:1; + unsigned int ChargeParameterDiscoveryRes_isUsed:1; + unsigned int SigMeterReading_isUsed:1; + unsigned int TargetSOC_isUsed:1; + unsigned int EVSEStatus_isUsed:1; + unsigned int EVSEMinimumChargeCurrent_isUsed:1; + unsigned int EVSEElectricalChargingDeviceStatus_isUsed:1; + unsigned int X509SerialNumber_isUsed:1; + unsigned int PaymentOption_isUsed:1; + unsigned int Transforms_isUsed:1; + unsigned int EVSEPeakCurrentRipple_isUsed:1; + unsigned int ConsumptionCost_isUsed:1; + unsigned int EVSEFinePositioningSetupParameters_isUsed:1; + unsigned int EPriceLevel_isUsed:1; + unsigned int Exponent_isUsed:1; + unsigned int X509IssuerSerial_isUsed:1; + unsigned int SPKIData_isUsed:1; + unsigned int MagneticVectorList_isUsed:1; + unsigned int EVSEFinePositioningParameters_isUsed:1; + unsigned int EVTargetPower_isUsed:1; + unsigned int SensorPackageList_isUsed:1; + unsigned int DepartureTime_isUsed:1; + unsigned int LF_EVSEFinePositioningParameters_isUsed:1; + unsigned int InletHot_isUsed:1; + unsigned int EVPresentActivePower_isUsed:1; + unsigned int X509Data_isUsed:1; + unsigned int YCoordinate_isUsed:1; + unsigned int KeyValue_isUsed:1; + unsigned int DisplayParameters_isUsed:1; + unsigned int EVSEPowerLimitAchieved_isUsed:1; + unsigned int Body_isUsed:1; + unsigned int DC_EVChargeParameter_isUsed:1; + unsigned int Service_isUsed:1; + unsigned int SignatureProperty_isUsed:1; + unsigned int PGPKeyPacket_isUsed:1; + unsigned int Seed_isUsed:1; + unsigned int LFA_EVFinePositioningSetupParameters_isUsed:1; + unsigned int MinimumPMaxRequest_isUsed:1; + unsigned int FinePositioningReq_isUsed:1; + unsigned int EnergyTransferServiceList_isUsed:1; + unsigned int FinePositioningRes_isUsed:1; + unsigned int AC_EVSEBidirectionalParameter_isUsed:1; + unsigned int FreeService_isUsed:1; + unsigned int AC_EVSEChargeParameter_isUsed:1; + unsigned int SensorID_isUsed:1; + unsigned int EVSECurrentRegulationTolerance_isUsed:1; + unsigned int EVSEMechanicalChargingDeviceStatus_isUsed:1; + unsigned int EVEnergyTransferParameter_isUsed:1; + unsigned int SignalPulseDuration_isUsed:1; + unsigned int shortValue_isUsed:1; + unsigned int Manifest_isUsed:1; + unsigned int DC_EVSEChargeParameter_isUsed:1; + unsigned int MeteringReceiptReq_isUsed:1; + unsigned int MeterID_isUsed:1; + unsigned int MeteringReceiptRes_isUsed:1; + unsigned int ServiceDiscoveryReq_isUsed:1; + unsigned int SalesTariffID_isUsed:1; + unsigned int ServiceDiscoveryRes_isUsed:1; + unsigned int X509CRL_isUsed:1; + unsigned int MagneticVectorSetup_isUsed:1; + unsigned int ErrorCode_isUsed:1; + unsigned int DigestMethod_isUsed:1; + unsigned int SPKISexp_isUsed:1; + unsigned int MeterReadingDischarged_isUsed:1; + unsigned int SignatureProperties_isUsed:1; + unsigned int SensorPosition_isUsed:1; + unsigned int LFA_EVSEFinePositioningSetupParameters_isUsed:1; + unsigned int eMAID_isUsed:1; + unsigned int SensorPackage_isUsed:1; + unsigned int EVCheckOutStatus_isUsed:1; + unsigned int X509Certificate_isUsed:1; + unsigned int RootCertificateID_isUsed:1; + unsigned int DC_BidirectionalControlReq_isUsed:1; + unsigned int EVSEPresentVoltage_isUsed:1; + unsigned int DC_BidirectionalControlRes_isUsed:1; + unsigned int VASList_isUsed:1; + unsigned int MeterInfo_isUsed:1; + unsigned int EVSETargetReactivePower_isUsed:1; + unsigned int ChargingStatusReq_isUsed:1; + unsigned int GenericParameters_isUsed:1; + unsigned int ChargingStatusRes_isUsed:1; + unsigned int EVMaximumChargePower_isUsed:1; + unsigned int BulkSOC_isUsed:1; + unsigned int NumberOfSignalPackages_isUsed:1; + unsigned int ParameterSetID_isUsed:1; + unsigned int PMax_isUsed:1; + unsigned int EVMaximumEnergyRequest_isUsed:1; + unsigned int EVOperation_isUsed:1; + unsigned int CertificateUpdateRes_isUsed:1; + unsigned int ChargingComplete_isUsed:1; + unsigned int ListOfRootCertificateIDs_isUsed:1; + unsigned int RotationVAtoGA_isUsed:1; + unsigned int EVTargetVoltage_isUsed:1; + unsigned int CertificateUpdateReq_isUsed:1; + unsigned int ConnectChargingDeviceRes_isUsed:1; + unsigned int DHpublickey_isUsed:1; + unsigned int ServiceParameterList_isUsed:1; + unsigned int SignatureValue_isUsed:1; + unsigned int physicalValue_isUsed:1; + unsigned int OperationMode_isUsed:1; + unsigned int EVSECurrentLimitAchieved_isUsed:1; + unsigned int ServiceDetailReq_isUsed:1; + unsigned int ServiceDetailRes_isUsed:1; + unsigned int intValue_isUsed:1; + unsigned int EVMaximumDischargePower_isUsed:1; + unsigned int MinimumSOC_isUsed:1; + unsigned int SelectedPaymentOption_isUsed:1; + unsigned int V2G_Message_isUsed:1; + unsigned int EVSEID_isUsed:1; + unsigned int TMeter_isUsed:1; + unsigned int SensorOrder_isUsed:1; + unsigned int SupportedServiceIDs_isUsed:1; + unsigned int GenChallenge_isUsed:1; + unsigned int EVFinePositioningParameters_isUsed:1; + unsigned int SensorList_isUsed:1; + unsigned int KeyInfo_isUsed:1; + unsigned int ConnectChargingDeviceReq_isUsed:1; + unsigned int AC_EVChargeParameter_isUsed:1; + unsigned int Parameter_isUsed:1; + unsigned int WeldingDetectionRes_isUsed:1; + unsigned int GAID_isUsed:1; + unsigned int SignalFrequency_isUsed:1; + unsigned int EVSETargetPower_isUsed:1; + unsigned int DC_EVBidirectionalParameter_isUsed:1; + unsigned int SignatureMethod_isUsed:1; + unsigned int WeldingDetectionReq_isUsed:1; + unsigned int SelectedService_isUsed:1; + unsigned int EVSEErrorInformation_isUsed:1; + unsigned int EVInputPower_isUsed:1; + unsigned int VehicleCheckOutReq_isUsed:1; + unsigned int PowerDemandReq_isUsed:1; + unsigned int VehicleCheckOutRes_isUsed:1; + unsigned int CurrentRange_isUsed:1; + unsigned int EVPresentReactivePower_isUsed:1; + unsigned int X509IssuerName_isUsed:1; + unsigned int V2GRequest_isUsed:1; + unsigned int Reference_isUsed:1; + unsigned int BodyElement_isUsed:1; + unsigned int MinimumPMaxScheduleEntry_isUsed:1; + unsigned int EVFinePositioningSetupParameters_isUsed:1; + unsigned int EVSENotification_isUsed:1; + unsigned int PaymentServiceSelectionReq_isUsed:1; + unsigned int PaymentServiceSelectionRes_isUsed:1; + unsigned int Transform_isUsed:1; + unsigned int Object_isUsed:1; + unsigned int TargetOffsetY_isUsed:1; + unsigned int PowerDemandRes_isUsed:1; + unsigned int TargetOffsetX_isUsed:1; int _warning_; }; +#endif /* DEPLOY_ISO_CODEC_FRAGMENT */ /* Initialization methods for structs */ @@ -2738,112 +3978,156 @@ void init_v2gEXIDocument(struct v2gEXIDocument* exiDoc); #if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES void init_v2gEXIFragment(struct v2gEXIFragment* exiFrag); #endif /* DEPLOY_ISO_CODEC_FRAGMENT */ -void init_v2gEVSEChargeParameterType(struct v2gEVSEChargeParameterType* v2gEVSEChargeParameterType); -void init_v2gDC_EVPowerDeliveryParameterType(struct v2gDC_EVPowerDeliveryParameterType* v2gDC_EVPowerDeliveryParameterType); -void init_v2gCurrentDemandResType(struct v2gCurrentDemandResType* v2gCurrentDemandResType); -void init_v2gAC_EVSEStatusType(struct v2gAC_EVSEStatusType* v2gAC_EVSEStatusType); -void init_v2gPreChargeResType(struct v2gPreChargeResType* v2gPreChargeResType); -void init_v2gSalesTariffType(struct v2gSalesTariffType* v2gSalesTariffType); -void init_v2gSignaturePropertyType(struct v2gSignaturePropertyType* v2gSignaturePropertyType); -void init_v2gPaymentServiceSelectionReqType(struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType); -void init_v2gSPKIDataType(struct v2gSPKIDataType* v2gSPKIDataType); -void init_v2gNotificationType(struct v2gNotificationType* v2gNotificationType); -void init_v2gObjectType(struct v2gObjectType* v2gObjectType); -void init_v2gManifestType(struct v2gManifestType* v2gManifestType); -void init_v2gParameterSetType(struct v2gParameterSetType* v2gParameterSetType); -void init_v2gPaymentServiceSelectionResType(struct v2gPaymentServiceSelectionResType* v2gPaymentServiceSelectionResType); -void init_v2gRelativeTimeIntervalType(struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType); -void init_v2gContractSignatureEncryptedPrivateKeyType(struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType); -void init_v2gSubCertificatesType(struct v2gSubCertificatesType* v2gSubCertificatesType); -void init_v2gPaymentOptionListType(struct v2gPaymentOptionListType* v2gPaymentOptionListType); -void init_v2gSalesTariffEntryType(struct v2gSalesTariffEntryType* v2gSalesTariffEntryType); -void init_v2gSupportedEnergyTransferModeType(struct v2gSupportedEnergyTransferModeType* v2gSupportedEnergyTransferModeType); -void init_v2gSelectedServiceType(struct v2gSelectedServiceType* v2gSelectedServiceType); -void init_v2gWeldingDetectionResType(struct v2gWeldingDetectionResType* v2gWeldingDetectionResType); -void init_v2gPowerDeliveryReqType(struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType); -void init_v2gConsumptionCostType(struct v2gConsumptionCostType* v2gConsumptionCostType); -void init_v2gDC_EVChargeParameterType(struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType); -void init_v2gChargingProfileType(struct v2gChargingProfileType* v2gChargingProfileType); -void init_v2gMeteringReceiptReqType(struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType); -void init_v2gChargeParameterDiscoveryReqType(struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType); -void init_v2gBodyType(struct v2gBodyType* v2gBodyType); -void init_v2gTransformsType(struct v2gTransformsType* v2gTransformsType); -void init_v2gServiceDiscoveryReqType(struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType); -void init_v2gEVSEStatusType(struct v2gEVSEStatusType* v2gEVSEStatusType); -void init_v2gProfileEntryType(struct v2gProfileEntryType* v2gProfileEntryType); -void init_v2gKeyInfoType(struct v2gKeyInfoType* v2gKeyInfoType); -void init_v2gMessageHeaderType(struct v2gMessageHeaderType* v2gMessageHeaderType); -void init_v2gServiceDetailReqType(struct v2gServiceDetailReqType* v2gServiceDetailReqType); -void init_v2gAC_EVSEChargeParameterType(struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType); -void init_v2gCertificateUpdateReqType(struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType); -void init_v2gPhysicalValueType(struct v2gPhysicalValueType* v2gPhysicalValueType); -void init_v2gX509IssuerSerialType(struct v2gX509IssuerSerialType* v2gX509IssuerSerialType); -void init_v2gListOfRootCertificateIDsType(struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType); -void init_v2gServiceDiscoveryResType(struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType); -void init_v2gPaymentDetailsReqType(struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType); -void init_v2gPMaxScheduleEntryType(struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType); -void init_v2gCertificateUpdateResType(struct v2gCertificateUpdateResType* v2gCertificateUpdateResType); -void init_v2gCertificateInstallationResType(struct v2gCertificateInstallationResType* v2gCertificateInstallationResType); -void init_v2gCableCheckReqType(struct v2gCableCheckReqType* v2gCableCheckReqType); -void init_v2gPGPDataType(struct v2gPGPDataType* v2gPGPDataType); -void init_v2gServiceParameterListType(struct v2gServiceParameterListType* v2gServiceParameterListType); -void init_v2gSessionStopReqType(struct v2gSessionStopReqType* v2gSessionStopReqType); -void init_v2gSASchedulesType(struct v2gSASchedulesType* v2gSASchedulesType); -void init_v2gWeldingDetectionReqType(struct v2gWeldingDetectionReqType* v2gWeldingDetectionReqType); -void init_v2gDiffieHellmanPublickeyType(struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType); -void init_v2gSessionSetupReqType(struct v2gSessionSetupReqType* v2gSessionSetupReqType); -void init_v2gCurrentDemandReqType(struct v2gCurrentDemandReqType* v2gCurrentDemandReqType); -void init_v2gDC_EVStatusType(struct v2gDC_EVStatusType* v2gDC_EVStatusType); -void init_v2gDSAKeyValueType(struct v2gDSAKeyValueType* v2gDSAKeyValueType); -void init_v2gChargingStatusResType(struct v2gChargingStatusResType* v2gChargingStatusResType); -void init_v2gReferenceType(struct v2gReferenceType* v2gReferenceType); -void init_v2gRSAKeyValueType(struct v2gRSAKeyValueType* v2gRSAKeyValueType); -void init_v2gAnonType_V2G_Message(struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message); -void init_v2gAC_EVChargeParameterType(struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType); -void init_v2gSignatureMethodType(struct v2gSignatureMethodType* v2gSignatureMethodType); -void init_v2gCertificateInstallationReqType(struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType); -void init_v2gCertificateChainType(struct v2gCertificateChainType* v2gCertificateChainType); -void init_v2gSessionSetupResType(struct v2gSessionSetupResType* v2gSessionSetupResType); -void init_v2gCostType(struct v2gCostType* v2gCostType); -void init_v2gX509DataType(struct v2gX509DataType* v2gX509DataType); -void init_v2gEMAIDType(struct v2gEMAIDType* v2gEMAIDType); -void init_v2gMeterInfoType(struct v2gMeterInfoType* v2gMeterInfoType); -void init_v2gAuthorizationResType(struct v2gAuthorizationResType* v2gAuthorizationResType); -void init_v2gEntryType(struct v2gEntryType* v2gEntryType); -void init_v2gServiceType(struct v2gServiceType* v2gServiceType); -void init_v2gSelectedServiceListType(struct v2gSelectedServiceListType* v2gSelectedServiceListType); -void init_v2gChargeServiceType(struct v2gChargeServiceType* v2gChargeServiceType); -void init_v2gServiceDetailResType(struct v2gServiceDetailResType* v2gServiceDetailResType); void init_v2gSignatureValueType(struct v2gSignatureValueType* v2gSignatureValueType); -void init_v2gSignaturePropertiesType(struct v2gSignaturePropertiesType* v2gSignaturePropertiesType); -void init_v2gAuthorizationReqType(struct v2gAuthorizationReqType* v2gAuthorizationReqType); -void init_v2gEVStatusType(struct v2gEVStatusType* v2gEVStatusType); -void init_v2gDC_EVSEChargeParameterType(struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType); -void init_v2gSAScheduleListType(struct v2gSAScheduleListType* v2gSAScheduleListType); -void init_v2gDigestMethodType(struct v2gDigestMethodType* v2gDigestMethodType); -void init_v2gKeyValueType(struct v2gKeyValueType* v2gKeyValueType); -void init_v2gEVPowerDeliveryParameterType(struct v2gEVPowerDeliveryParameterType* v2gEVPowerDeliveryParameterType); -void init_v2gTransformType(struct v2gTransformType* v2gTransformType); -void init_v2gBodyBaseType(struct v2gBodyBaseType* v2gBodyBaseType); -void init_v2gSessionStopResType(struct v2gSessionStopResType* v2gSessionStopResType); -void init_v2gParameterType(struct v2gParameterType* v2gParameterType); -void init_v2gServiceListType(struct v2gServiceListType* v2gServiceListType); -void init_v2gRetrievalMethodType(struct v2gRetrievalMethodType* v2gRetrievalMethodType); -void init_v2gEVChargeParameterType(struct v2gEVChargeParameterType* v2gEVChargeParameterType); -void init_v2gCanonicalizationMethodType(struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType); -void init_v2gIntervalType(struct v2gIntervalType* v2gIntervalType); -void init_v2gPreChargeReqType(struct v2gPreChargeReqType* v2gPreChargeReqType); -void init_v2gDC_EVSEStatusType(struct v2gDC_EVSEStatusType* v2gDC_EVSEStatusType); +void init_v2gEVSEFinePositioningSetupParametersType(struct v2gEVSEFinePositioningSetupParametersType* v2gEVSEFinePositioningSetupParametersType); +void init_v2gAlignmentCheckResType(struct v2gAlignmentCheckResType* v2gAlignmentCheckResType); +void init_v2gSalesTariffType(struct v2gSalesTariffType* v2gSalesTariffType); +void init_v2gFinePositioningSetupReqType(struct v2gFinePositioningSetupReqType* v2gFinePositioningSetupReqType); +void init_v2gSubCertificatesType(struct v2gSubCertificatesType* v2gSubCertificatesType); +void init_v2gCertificateInstallationResType(struct v2gCertificateInstallationResType* v2gCertificateInstallationResType); +void init_v2gMeterInfoType(struct v2gMeterInfoType* v2gMeterInfoType); +void init_v2gChargeLoopReqType(struct v2gChargeLoopReqType* v2gChargeLoopReqType); +void init_v2gMessageHeaderType(struct v2gMessageHeaderType* v2gMessageHeaderType); void init_v2gSignatureType(struct v2gSignatureType* v2gSignatureType); -void init_v2gCableCheckResType(struct v2gCableCheckResType* v2gCableCheckResType); -void init_v2gPaymentDetailsResType(struct v2gPaymentDetailsResType* v2gPaymentDetailsResType); +void init_v2gBodyType(struct v2gBodyType* v2gBodyType); +void init_v2gFinePositioningReqType(struct v2gFinePositioningReqType* v2gFinePositioningReqType); +void init_v2gPMaxScheduleEntryType(struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType); +void init_v2gPreChargeReqType(struct v2gPreChargeReqType* v2gPreChargeReqType); +void init_v2gVehicleCheckInResType(struct v2gVehicleCheckInResType* v2gVehicleCheckInResType); +void init_v2gV2GRequestType(struct v2gV2GRequestType* v2gV2GRequestType); +void init_v2gLF_EVSEFinePositioningParametersType(struct v2gLF_EVSEFinePositioningParametersType* v2gLF_EVSEFinePositioningParametersType); +void init_v2gSignaturePropertiesType(struct v2gSignaturePropertiesType* v2gSignaturePropertiesType); +void init_v2gMagneticVectorSetupListType(struct v2gMagneticVectorSetupListType* v2gMagneticVectorSetupListType); +void init_v2gSensorMeasurementsType(struct v2gSensorMeasurementsType* v2gSensorMeasurementsType); +void init_v2gAC_EVSEBidirectionalParameterType(struct v2gAC_EVSEBidirectionalParameterType* v2gAC_EVSEBidirectionalParameterType); +void init_v2gConsumptionCostType(struct v2gConsumptionCostType* v2gConsumptionCostType); +void init_v2gAuthorizationResType(struct v2gAuthorizationResType* v2gAuthorizationResType); +void init_v2gGeneric_EVFinePositioningParametersType(struct v2gGeneric_EVFinePositioningParametersType* v2gGeneric_EVFinePositioningParametersType); +void init_v2gEVSEStatusType(struct v2gEVSEStatusType* v2gEVSEStatusType); +void init_v2gX509IssuerSerialType(struct v2gX509IssuerSerialType* v2gX509IssuerSerialType); +void init_v2gAC_EVBidirectionalParameterType(struct v2gAC_EVBidirectionalParameterType* v2gAC_EVBidirectionalParameterType); +void init_v2gEVFinePositioningSetupParametersType(struct v2gEVFinePositioningSetupParametersType* v2gEVFinePositioningSetupParametersType); +void init_v2gMV_EVSEFinePositioningSetupParametersType(struct v2gMV_EVSEFinePositioningSetupParametersType* v2gMV_EVSEFinePositioningSetupParametersType); +void init_v2gMeteringReceiptReqType(struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType); +void init_v2gAuthorizationReqType(struct v2gAuthorizationReqType* v2gAuthorizationReqType); void init_v2gChargingStatusReqType(struct v2gChargingStatusReqType* v2gChargingStatusReqType); -void init_v2gPMaxScheduleType(struct v2gPMaxScheduleType* v2gPMaxScheduleType); -void init_v2gChargeParameterDiscoveryResType(struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType); -void init_v2gPowerDeliveryResType(struct v2gPowerDeliveryResType* v2gPowerDeliveryResType); -void init_v2gSAScheduleTupleType(struct v2gSAScheduleTupleType* v2gSAScheduleTupleType); +void init_v2gManifestType(struct v2gManifestType* v2gManifestType); +void init_v2gSensorType(struct v2gSensorType* v2gSensorType); +void init_v2gAC_EVChargeParameterType(struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType); +void init_v2gMagneticVectorListType(struct v2gMagneticVectorListType* v2gMagneticVectorListType); +void init_v2gAlignmentCheckReqType(struct v2gAlignmentCheckReqType* v2gAlignmentCheckReqType); +void init_v2gEVSEErrorInformationType(struct v2gEVSEErrorInformationType* v2gEVSEErrorInformationType); +void init_v2gWPT_EVSEChargeParameterType(struct v2gWPT_EVSEChargeParameterType* v2gWPT_EVSEChargeParameterType); +void init_v2gDisplayParametersType(struct v2gDisplayParametersType* v2gDisplayParametersType); +void init_v2gSignatureMethodType(struct v2gSignatureMethodType* v2gSignatureMethodType); +void init_v2gTargetPositionType(struct v2gTargetPositionType* v2gTargetPositionType); +void init_v2gEVFinePositioningParametersType(struct v2gEVFinePositioningParametersType* v2gEVFinePositioningParametersType); +void init_v2gVehicleCheckOutReqType(struct v2gVehicleCheckOutReqType* v2gVehicleCheckOutReqType); +void init_v2gFinePositioningSetupResType(struct v2gFinePositioningSetupResType* v2gFinePositioningSetupResType); +void init_v2gSAScheduleListType(struct v2gSAScheduleListType* v2gSAScheduleListType); +void init_v2gSystemStatusReqType(struct v2gSystemStatusReqType* v2gSystemStatusReqType); +void init_v2gCertificateChainType(struct v2gCertificateChainType* v2gCertificateChainType); +void init_v2gCostType(struct v2gCostType* v2gCostType); +void init_v2gServiceType(struct v2gServiceType* v2gServiceType); +void init_v2gServiceParameterListType(struct v2gServiceParameterListType* v2gServiceParameterListType); void init_v2gSignedInfoType(struct v2gSignedInfoType* v2gSignedInfoType); -void init_v2gMeteringReceiptResType(struct v2gMeteringReceiptResType* v2gMeteringReceiptResType); +void init_v2gEVErrorInformationType(struct v2gEVErrorInformationType* v2gEVErrorInformationType); +void init_v2gListOfRootCertificateIDsType(struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType); +void init_v2gSPKIDataType(struct v2gSPKIDataType* v2gSPKIDataType); +void init_v2gDC_BidirectionalControlReqType(struct v2gDC_BidirectionalControlReqType* v2gDC_BidirectionalControlReqType); +void init_v2gPairingResType(struct v2gPairingResType* v2gPairingResType); +void init_v2gCartesianCoordinatesType(struct v2gCartesianCoordinatesType* v2gCartesianCoordinatesType); +void init_v2gChargeParameterDiscoveryReqType(struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType); +void init_v2gChargeParameterDiscoveryResType(struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType); +void init_v2gRSAKeyValueType(struct v2gRSAKeyValueType* v2gRSAKeyValueType); +void init_v2gLFA_EVFinePositioningSetupParametersType(struct v2gLFA_EVFinePositioningSetupParametersType* v2gLFA_EVFinePositioningSetupParametersType); +void init_v2gSelectedServiceType(struct v2gSelectedServiceType* v2gSelectedServiceType); +void init_v2gSignaturePropertyType(struct v2gSignaturePropertyType* v2gSignaturePropertyType); +void init_v2gAC_BidirectionalControlResType(struct v2gAC_BidirectionalControlResType* v2gAC_BidirectionalControlResType); +void init_v2gPGPDataType(struct v2gPGPDataType* v2gPGPDataType); +void init_v2gSystemStatusResType(struct v2gSystemStatusResType* v2gSystemStatusResType); +void init_v2gCertificateUpdateResType(struct v2gCertificateUpdateResType* v2gCertificateUpdateResType); +void init_v2gParameterSetType(struct v2gParameterSetType* v2gParameterSetType); +void init_v2gSAScheduleTupleType(struct v2gSAScheduleTupleType* v2gSAScheduleTupleType); +void init_v2gDSAKeyValueType(struct v2gDSAKeyValueType* v2gDSAKeyValueType); +void init_v2gMagneticVectorType(struct v2gMagneticVectorType* v2gMagneticVectorType); +void init_v2gServiceIDListType(struct v2gServiceIDListType* v2gServiceIDListType); +void init_v2gX509DataType(struct v2gX509DataType* v2gX509DataType); +void init_v2gEVEnergyTransferParameterType(struct v2gEVEnergyTransferParameterType* v2gEVEnergyTransferParameterType); +void init_v2gPreChargeResType(struct v2gPreChargeResType* v2gPreChargeResType); +void init_v2gFinePositioningResType(struct v2gFinePositioningResType* v2gFinePositioningResType); +void init_v2gLFA_EVSEFinePositioningSetupParametersType(struct v2gLFA_EVSEFinePositioningSetupParametersType* v2gLFA_EVSEFinePositioningSetupParametersType); +void init_v2gMinimumPMaxRequestType(struct v2gMinimumPMaxRequestType* v2gMinimumPMaxRequestType); +void init_v2gCanonicalizationMethodType(struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType); +void init_v2gCertificateInstallationReqType(struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType); +void init_v2gVehicleCheckInReqType(struct v2gVehicleCheckInReqType* v2gVehicleCheckInReqType); +void init_v2gMV_EVSEFinePositioningParametersType(struct v2gMV_EVSEFinePositioningParametersType* v2gMV_EVSEFinePositioningParametersType); +void init_v2gPowerDeliveryResType(struct v2gPowerDeliveryResType* v2gPowerDeliveryResType); +void init_v2gEVSEEnergyTransferParameterType(struct v2gEVSEEnergyTransferParameterType* v2gEVSEEnergyTransferParameterType); +void init_v2gDiffieHellmanPublickeyType(struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType); +void init_v2gV2GResponseType(struct v2gV2GResponseType* v2gV2GResponseType); +void init_v2gCableCheckResType(struct v2gCableCheckResType* v2gCableCheckResType); +void init_v2gSalesTariffEntryType(struct v2gSalesTariffEntryType* v2gSalesTariffEntryType); +void init_v2gChargingProfileType(struct v2gChargingProfileType* v2gChargingProfileType); +void init_v2gServiceDiscoveryResType(struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType); +void init_v2gPMaxScheduleType(struct v2gPMaxScheduleType* v2gPMaxScheduleType); +void init_v2gSensorPackageType(struct v2gSensorPackageType* v2gSensorPackageType); +void init_v2gDC_EVSEBidirectionalParameterType(struct v2gDC_EVSEBidirectionalParameterType* v2gDC_EVSEBidirectionalParameterType); +void init_v2gDC_EVSEChargeParameterType(struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType); +void init_v2gConnectChargingDeviceReqType(struct v2gConnectChargingDeviceReqType* v2gConnectChargingDeviceReqType); +void init_v2gCertificateUpdateReqType(struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType); +void init_v2gKeyInfoType(struct v2gKeyInfoType* v2gKeyInfoType); +void init_v2gWeldingDetectionResType(struct v2gWeldingDetectionResType* v2gWeldingDetectionResType); +void init_v2gPhysicalValueType(struct v2gPhysicalValueType* v2gPhysicalValueType); +void init_v2gPaymentServiceSelectionReqType(struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType); +void init_v2gSensorListType(struct v2gSensorListType* v2gSensorListType); +void init_v2gPairingReqType(struct v2gPairingReqType* v2gPairingReqType); +void init_v2gDisconnectChargingDeviceReqType(struct v2gDisconnectChargingDeviceReqType* v2gDisconnectChargingDeviceReqType); +void init_v2gParameterType(struct v2gParameterType* v2gParameterType); +void init_v2gEVSEFinePositioningParametersType(struct v2gEVSEFinePositioningParametersType* v2gEVSEFinePositioningParametersType); +void init_v2gAC_EVSEChargeParameterType(struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType); +void init_v2gServiceDiscoveryReqType(struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType); +void init_v2gConnectChargingDeviceResType(struct v2gConnectChargingDeviceResType* v2gConnectChargingDeviceResType); +void init_v2gPowerDemandReqType(struct v2gPowerDemandReqType* v2gPowerDemandReqType); +void init_v2gLFA_EVFinePositioningParametersType(struct v2gLFA_EVFinePositioningParametersType* v2gLFA_EVFinePositioningParametersType); +void init_v2gTransformType(struct v2gTransformType* v2gTransformType); +void init_v2gObjectType(struct v2gObjectType* v2gObjectType); +void init_v2gPowerDeliveryReqType(struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType); +void init_v2gGeneric_EVSEFinePositioningParametersType(struct v2gGeneric_EVSEFinePositioningParametersType* v2gGeneric_EVSEFinePositioningParametersType); +void init_v2gSensorPackageListType(struct v2gSensorPackageListType* v2gSensorPackageListType); +void init_v2gPaymentDetailsResType(struct v2gPaymentDetailsResType* v2gPaymentDetailsResType); +void init_v2gAnonType_V2G_Message(struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message); +void init_v2gAC_BidirectionalControlReqType(struct v2gAC_BidirectionalControlReqType* v2gAC_BidirectionalControlReqType); +void init_v2gBodyBaseType(struct v2gBodyBaseType* v2gBodyBaseType); +void init_v2gSessionStopReqType(struct v2gSessionStopReqType* v2gSessionStopReqType); +void init_v2gEntryType(struct v2gEntryType* v2gEntryType); +void init_v2gPowerDemandResType(struct v2gPowerDemandResType* v2gPowerDemandResType); +void init_v2gSessionSetupResType(struct v2gSessionSetupResType* v2gSessionSetupResType); +void init_v2gVehicleCheckOutResType(struct v2gVehicleCheckOutResType* v2gVehicleCheckOutResType); +void init_v2gKeyValueType(struct v2gKeyValueType* v2gKeyValueType); +void init_v2gEMAIDType(struct v2gEMAIDType* v2gEMAIDType); +void init_v2gTransformsType(struct v2gTransformsType* v2gTransformsType); +void init_v2gCurrentDemandReqType(struct v2gCurrentDemandReqType* v2gCurrentDemandReqType); +void init_v2gRetrievalMethodType(struct v2gRetrievalMethodType* v2gRetrievalMethodType); +void init_v2gServiceListType(struct v2gServiceListType* v2gServiceListType); +void init_v2gDC_EVBidirectionalParameterType(struct v2gDC_EVBidirectionalParameterType* v2gDC_EVBidirectionalParameterType); +void init_v2gServiceDetailResType(struct v2gServiceDetailResType* v2gServiceDetailResType); +void init_v2gSelectedServiceListType(struct v2gSelectedServiceListType* v2gSelectedServiceListType); +void init_v2gRelativeTimeIntervalType(struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType); +void init_v2gDisconnectChargingDeviceResType(struct v2gDisconnectChargingDeviceResType* v2gDisconnectChargingDeviceResType); +void init_v2gContractSignatureEncryptedPrivateKeyType(struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType); +void init_v2gChargingStatusResType(struct v2gChargingStatusResType* v2gChargingStatusResType); +void init_v2gPaymentDetailsReqType(struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType); +void init_v2gMagneticVectorSetupType(struct v2gMagneticVectorSetupType* v2gMagneticVectorSetupType); +void init_v2gDC_EVChargeParameterType(struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType); +void init_v2gReferenceType(struct v2gReferenceType* v2gReferenceType); +void init_v2gServiceDetailReqType(struct v2gServiceDetailReqType* v2gServiceDetailReqType); +void init_v2gPaymentOptionListType(struct v2gPaymentOptionListType* v2gPaymentOptionListType); +void init_v2gCurrentDemandResType(struct v2gCurrentDemandResType* v2gCurrentDemandResType); +void init_v2gDC_BidirectionalControlResType(struct v2gDC_BidirectionalControlResType* v2gDC_BidirectionalControlResType); +void init_v2gWPT_EVChargeParameterType(struct v2gWPT_EVChargeParameterType* v2gWPT_EVChargeParameterType); +void init_v2gSessionSetupReqType(struct v2gSessionSetupReqType* v2gSessionSetupReqType); +void init_v2gDigestMethodType(struct v2gDigestMethodType* v2gDigestMethodType); #endif /* DEPLOY_ISO_CODEC */ diff --git a/src/codec/v2gEXIDatatypesDecoder.c b/src/codec/v2gEXIDatatypesDecoder.c index 4afb52e..182ce89 100644 --- a/src/codec/v2gEXIDatatypesDecoder.c +++ b/src/codec/v2gEXIDatatypesDecoder.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -48,182 +48,233 @@ static uint32_t eventCode; static int errn; static uint32_t uint32; - /* Forward Declarations */ -static int decode_v2gEVSEChargeParameterType(bitstream_t* stream, struct v2gEVSEChargeParameterType* v2gEVSEChargeParameterType); -static int decode_v2gDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct v2gDC_EVPowerDeliveryParameterType* v2gDC_EVPowerDeliveryParameterType); -static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrentDemandResType* v2gCurrentDemandResType); -static int decode_v2gAC_EVSEStatusType(bitstream_t* stream, struct v2gAC_EVSEStatusType* v2gAC_EVSEStatusType); -static int decode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeResType* v2gPreChargeResType); -static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffType* v2gSalesTariffType); -static int decode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignaturePropertyType* v2gSignaturePropertyType); -static int decode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType); -static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v2gSPKIDataType); -static int decode_v2gNotificationType(bitstream_t* stream, struct v2gNotificationType* v2gNotificationType); -static int decode_v2gObjectType(bitstream_t* stream, struct v2gObjectType* v2gObjectType); -static int decode_v2gManifestType(bitstream_t* stream, struct v2gManifestType* v2gManifestType); -static int decode_v2gParameterSetType(bitstream_t* stream, struct v2gParameterSetType* v2gParameterSetType); -static int decode_v2gPaymentServiceSelectionResType(bitstream_t* stream, struct v2gPaymentServiceSelectionResType* v2gPaymentServiceSelectionResType); -static int decode_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType); -static int decode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType); -static int decode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCertificatesType* v2gSubCertificatesType); -static int decode_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymentOptionListType* v2gPaymentOptionListType); -static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTariffEntryType* v2gSalesTariffEntryType); -static int decode_v2gSupportedEnergyTransferModeType(bitstream_t* stream, struct v2gSupportedEnergyTransferModeType* v2gSupportedEnergyTransferModeType); -static int decode_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelectedServiceType* v2gSelectedServiceType); -static int decode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeldingDetectionResType* v2gWeldingDetectionResType); -static int decode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType); -static int decode_v2gConsumptionCostType(bitstream_t* stream, struct v2gConsumptionCostType* v2gConsumptionCostType); -static int decode_v2gDC_EVChargeParameterType(bitstream_t* stream, struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType); -static int decode_v2gChargingProfileType(bitstream_t* stream, struct v2gChargingProfileType* v2gChargingProfileType); -static int decode_v2gMeteringReceiptReqType(bitstream_t* stream, struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType); -static int decode_v2gChargeParameterDiscoveryReqType(bitstream_t* stream, struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType); -static int decode_v2gBodyType(bitstream_t* stream, struct v2gBodyType* v2gBodyType); -static int decode_v2gTransformsType(bitstream_t* stream, struct v2gTransformsType* v2gTransformsType); -static int decode_v2gServiceDiscoveryReqType(bitstream_t* stream, struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType); -static int decode_v2gEVSEStatusType(bitstream_t* stream, struct v2gEVSEStatusType* v2gEVSEStatusType); -static int decode_v2gProfileEntryType(bitstream_t* stream, struct v2gProfileEntryType* v2gProfileEntryType); -static int decode_v2gKeyInfoType(bitstream_t* stream, struct v2gKeyInfoType* v2gKeyInfoType); -static int decode_v2gMessageHeaderType(bitstream_t* stream, struct v2gMessageHeaderType* v2gMessageHeaderType); -static int decode_v2gServiceDetailReqType(bitstream_t* stream, struct v2gServiceDetailReqType* v2gServiceDetailReqType); -static int decode_v2gAC_EVSEChargeParameterType(bitstream_t* stream, struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType); -static int decode_v2gCertificateUpdateReqType(bitstream_t* stream, struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType); -static int decode_v2gPhysicalValueType(bitstream_t* stream, struct v2gPhysicalValueType* v2gPhysicalValueType); -static int decode_v2gX509IssuerSerialType(bitstream_t* stream, struct v2gX509IssuerSerialType* v2gX509IssuerSerialType); -static int decode_v2gListOfRootCertificateIDsType(bitstream_t* stream, struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType); -static int decode_v2gServiceDiscoveryResType(bitstream_t* stream, struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType); -static int decode_v2gPaymentDetailsReqType(bitstream_t* stream, struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType); -static int decode_v2gPMaxScheduleEntryType(bitstream_t* stream, struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType); -static int decode_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCertificateUpdateResType* v2gCertificateUpdateResType); -static int decode_v2gCertificateInstallationResType(bitstream_t* stream, struct v2gCertificateInstallationResType* v2gCertificateInstallationResType); -static int decode_v2gCableCheckReqType(bitstream_t* stream, struct v2gCableCheckReqType* v2gCableCheckReqType); -static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2gPGPDataType); -static int decode_v2gServiceParameterListType(bitstream_t* stream, struct v2gServiceParameterListType* v2gServiceParameterListType); -static int decode_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionStopReqType* v2gSessionStopReqType); -static int decode_v2gSASchedulesType(bitstream_t* stream, struct v2gSASchedulesType* v2gSASchedulesType); -static int decode_v2gWeldingDetectionReqType(bitstream_t* stream, struct v2gWeldingDetectionReqType* v2gWeldingDetectionReqType); -static int decode_v2gDiffieHellmanPublickeyType(bitstream_t* stream, struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType); -static int decode_v2gSessionSetupReqType(bitstream_t* stream, struct v2gSessionSetupReqType* v2gSessionSetupReqType); -static int decode_v2gCurrentDemandReqType(bitstream_t* stream, struct v2gCurrentDemandReqType* v2gCurrentDemandReqType); -static int decode_v2gDC_EVStatusType(bitstream_t* stream, struct v2gDC_EVStatusType* v2gDC_EVStatusType); -static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueType* v2gDSAKeyValueType); -static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargingStatusResType* v2gChargingStatusResType); -static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* v2gReferenceType); -static int decode_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueType* v2gRSAKeyValueType); -static int decode_v2gAnonType_V2G_Message(bitstream_t* stream, struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message); -static int decode_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType); -static int decode_v2gSignatureMethodType(bitstream_t* stream, struct v2gSignatureMethodType* v2gSignatureMethodType); -static int decode_v2gCertificateInstallationReqType(bitstream_t* stream, struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType); -static int decode_v2gCertificateChainType(bitstream_t* stream, struct v2gCertificateChainType* v2gCertificateChainType); -static int decode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionSetupResType* v2gSessionSetupResType); -static int decode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostType); -static int decode_v2gX509DataType(bitstream_t* stream, struct v2gX509DataType* v2gX509DataType); -static int decode_v2gEMAIDType(bitstream_t* stream, struct v2gEMAIDType* v2gEMAIDType); -static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* v2gMeterInfoType); -static int decode_v2gAuthorizationResType(bitstream_t* stream, struct v2gAuthorizationResType* v2gAuthorizationResType); -static int decode_v2gEntryType(bitstream_t* stream, struct v2gEntryType* v2gEntryType); -static int decode_v2gServiceType(bitstream_t* stream, struct v2gServiceType* v2gServiceType); -static int decode_v2gSelectedServiceListType(bitstream_t* stream, struct v2gSelectedServiceListType* v2gSelectedServiceListType); -static int decode_v2gChargeServiceType(bitstream_t* stream, struct v2gChargeServiceType* v2gChargeServiceType); -static int decode_v2gServiceDetailResType(bitstream_t* stream, struct v2gServiceDetailResType* v2gServiceDetailResType); static int decode_v2gSignatureValueType(bitstream_t* stream, struct v2gSignatureValueType* v2gSignatureValueType); -static int decode_v2gSignaturePropertiesType(bitstream_t* stream, struct v2gSignaturePropertiesType* v2gSignaturePropertiesType); -static int decode_v2gAuthorizationReqType(bitstream_t* stream, struct v2gAuthorizationReqType* v2gAuthorizationReqType); -static int decode_v2gEVStatusType(bitstream_t* stream, struct v2gEVStatusType* v2gEVStatusType); -static int decode_v2gDC_EVSEChargeParameterType(bitstream_t* stream, struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType); -static int decode_v2gSAScheduleListType(bitstream_t* stream, struct v2gSAScheduleListType* v2gSAScheduleListType); -static int decode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMethodType* v2gDigestMethodType); -static int decode_v2gKeyValueType(bitstream_t* stream, struct v2gKeyValueType* v2gKeyValueType); -static int decode_v2gEVPowerDeliveryParameterType(bitstream_t* stream, struct v2gEVPowerDeliveryParameterType* v2gEVPowerDeliveryParameterType); -static int decode_v2gTransformType(bitstream_t* stream, struct v2gTransformType* v2gTransformType); -static int decode_v2gBodyBaseType(bitstream_t* stream, struct v2gBodyBaseType* v2gBodyBaseType); -static int decode_v2gSessionStopResType(bitstream_t* stream, struct v2gSessionStopResType* v2gSessionStopResType); -static int decode_v2gParameterType(bitstream_t* stream, struct v2gParameterType* v2gParameterType); -static int decode_v2gServiceListType(bitstream_t* stream, struct v2gServiceListType* v2gServiceListType); -static int decode_v2gRetrievalMethodType(bitstream_t* stream, struct v2gRetrievalMethodType* v2gRetrievalMethodType); -static int decode_v2gEVChargeParameterType(bitstream_t* stream, struct v2gEVChargeParameterType* v2gEVChargeParameterType); -static int decode_v2gCanonicalizationMethodType(bitstream_t* stream, struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType); -static int decode_v2gIntervalType(bitstream_t* stream, struct v2gIntervalType* v2gIntervalType); -static int decode_v2gPreChargeReqType(bitstream_t* stream, struct v2gPreChargeReqType* v2gPreChargeReqType); -static int decode_v2gDC_EVSEStatusType(bitstream_t* stream, struct v2gDC_EVSEStatusType* v2gDC_EVSEStatusType); +static int decode_v2gEVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gEVSEFinePositioningSetupParametersType* v2gEVSEFinePositioningSetupParametersType); +static int decode_v2gAlignmentCheckResType(bitstream_t* stream, struct v2gAlignmentCheckResType* v2gAlignmentCheckResType); +static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffType* v2gSalesTariffType); +static int decode_v2gFinePositioningSetupReqType(bitstream_t* stream, struct v2gFinePositioningSetupReqType* v2gFinePositioningSetupReqType); +static int decode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCertificatesType* v2gSubCertificatesType); +static int decode_v2gCertificateInstallationResType(bitstream_t* stream, struct v2gCertificateInstallationResType* v2gCertificateInstallationResType); +static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* v2gMeterInfoType); +static int decode_v2gChargeLoopReqType(bitstream_t* stream, struct v2gChargeLoopReqType* v2gChargeLoopReqType); +static int decode_v2gMessageHeaderType(bitstream_t* stream, struct v2gMessageHeaderType* v2gMessageHeaderType); static int decode_v2gSignatureType(bitstream_t* stream, struct v2gSignatureType* v2gSignatureType); -static int decode_v2gCableCheckResType(bitstream_t* stream, struct v2gCableCheckResType* v2gCableCheckResType); -static int decode_v2gPaymentDetailsResType(bitstream_t* stream, struct v2gPaymentDetailsResType* v2gPaymentDetailsResType); +static int decode_v2gBodyType(bitstream_t* stream, struct v2gBodyType* v2gBodyType); +static int decode_v2gFinePositioningReqType(bitstream_t* stream, struct v2gFinePositioningReqType* v2gFinePositioningReqType); +static int decode_v2gPMaxScheduleEntryType(bitstream_t* stream, struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType); +static int decode_v2gPreChargeReqType(bitstream_t* stream, struct v2gPreChargeReqType* v2gPreChargeReqType); +static int decode_v2gVehicleCheckInResType(bitstream_t* stream, struct v2gVehicleCheckInResType* v2gVehicleCheckInResType); +static int decode_v2gV2GRequestType(bitstream_t* stream, struct v2gV2GRequestType* v2gV2GRequestType); +static int decode_v2gLF_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gLF_EVSEFinePositioningParametersType* v2gLF_EVSEFinePositioningParametersType); +static int decode_v2gSignaturePropertiesType(bitstream_t* stream, struct v2gSignaturePropertiesType* v2gSignaturePropertiesType); +static int decode_v2gMagneticVectorSetupListType(bitstream_t* stream, struct v2gMagneticVectorSetupListType* v2gMagneticVectorSetupListType); +static int decode_v2gSensorMeasurementsType(bitstream_t* stream, struct v2gSensorMeasurementsType* v2gSensorMeasurementsType); +static int decode_v2gAC_EVSEBidirectionalParameterType(bitstream_t* stream, struct v2gAC_EVSEBidirectionalParameterType* v2gAC_EVSEBidirectionalParameterType); +static int decode_v2gConsumptionCostType(bitstream_t* stream, struct v2gConsumptionCostType* v2gConsumptionCostType); +static int decode_v2gAuthorizationResType(bitstream_t* stream, struct v2gAuthorizationResType* v2gAuthorizationResType); +static int decode_v2gGeneric_EVFinePositioningParametersType(bitstream_t* stream, struct v2gGeneric_EVFinePositioningParametersType* v2gGeneric_EVFinePositioningParametersType); +static int decode_v2gEVSEStatusType(bitstream_t* stream, struct v2gEVSEStatusType* v2gEVSEStatusType); +static int decode_v2gX509IssuerSerialType(bitstream_t* stream, struct v2gX509IssuerSerialType* v2gX509IssuerSerialType); +static int decode_v2gAC_EVBidirectionalParameterType(bitstream_t* stream, struct v2gAC_EVBidirectionalParameterType* v2gAC_EVBidirectionalParameterType); +static int decode_v2gEVFinePositioningSetupParametersType(bitstream_t* stream, struct v2gEVFinePositioningSetupParametersType* v2gEVFinePositioningSetupParametersType); +static int decode_v2gMV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gMV_EVSEFinePositioningSetupParametersType* v2gMV_EVSEFinePositioningSetupParametersType); +static int decode_v2gMeteringReceiptReqType(bitstream_t* stream, struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType); +static int decode_v2gAuthorizationReqType(bitstream_t* stream, struct v2gAuthorizationReqType* v2gAuthorizationReqType); static int decode_v2gChargingStatusReqType(bitstream_t* stream, struct v2gChargingStatusReqType* v2gChargingStatusReqType); -static int decode_v2gPMaxScheduleType(bitstream_t* stream, struct v2gPMaxScheduleType* v2gPMaxScheduleType); -static int decode_v2gChargeParameterDiscoveryResType(bitstream_t* stream, struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType); -static int decode_v2gPowerDeliveryResType(bitstream_t* stream, struct v2gPowerDeliveryResType* v2gPowerDeliveryResType); -static int decode_v2gSAScheduleTupleType(bitstream_t* stream, struct v2gSAScheduleTupleType* v2gSAScheduleTupleType); +static int decode_v2gManifestType(bitstream_t* stream, struct v2gManifestType* v2gManifestType); +static int decode_v2gSensorType(bitstream_t* stream, struct v2gSensorType* v2gSensorType); +static int decode_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType); +static int decode_v2gMagneticVectorListType(bitstream_t* stream, struct v2gMagneticVectorListType* v2gMagneticVectorListType); +static int decode_v2gAlignmentCheckReqType(bitstream_t* stream, struct v2gAlignmentCheckReqType* v2gAlignmentCheckReqType); +static int decode_v2gEVSEErrorInformationType(bitstream_t* stream, struct v2gEVSEErrorInformationType* v2gEVSEErrorInformationType); +static int decode_v2gWPT_EVSEChargeParameterType(bitstream_t* stream, struct v2gWPT_EVSEChargeParameterType* v2gWPT_EVSEChargeParameterType); +static int decode_v2gDisplayParametersType(bitstream_t* stream, struct v2gDisplayParametersType* v2gDisplayParametersType); +static int decode_v2gSignatureMethodType(bitstream_t* stream, struct v2gSignatureMethodType* v2gSignatureMethodType); +static int decode_v2gTargetPositionType(bitstream_t* stream, struct v2gTargetPositionType* v2gTargetPositionType); +static int decode_v2gEVFinePositioningParametersType(bitstream_t* stream, struct v2gEVFinePositioningParametersType* v2gEVFinePositioningParametersType); +static int decode_v2gVehicleCheckOutReqType(bitstream_t* stream, struct v2gVehicleCheckOutReqType* v2gVehicleCheckOutReqType); +static int decode_v2gFinePositioningSetupResType(bitstream_t* stream, struct v2gFinePositioningSetupResType* v2gFinePositioningSetupResType); +static int decode_v2gSAScheduleListType(bitstream_t* stream, struct v2gSAScheduleListType* v2gSAScheduleListType); +static int decode_v2gSystemStatusReqType(bitstream_t* stream, struct v2gSystemStatusReqType* v2gSystemStatusReqType); +static int decode_v2gCertificateChainType(bitstream_t* stream, struct v2gCertificateChainType* v2gCertificateChainType); +static int decode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostType); +static int decode_v2gServiceType(bitstream_t* stream, struct v2gServiceType* v2gServiceType); +static int decode_v2gServiceParameterListType(bitstream_t* stream, struct v2gServiceParameterListType* v2gServiceParameterListType); static int decode_v2gSignedInfoType(bitstream_t* stream, struct v2gSignedInfoType* v2gSignedInfoType); -static int decode_v2gMeteringReceiptResType(bitstream_t* stream, struct v2gMeteringReceiptResType* v2gMeteringReceiptResType); +static int decode_v2gEVErrorInformationType(bitstream_t* stream, struct v2gEVErrorInformationType* v2gEVErrorInformationType); +static int decode_v2gListOfRootCertificateIDsType(bitstream_t* stream, struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType); +static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v2gSPKIDataType); +static int decode_v2gDC_BidirectionalControlReqType(bitstream_t* stream, struct v2gDC_BidirectionalControlReqType* v2gDC_BidirectionalControlReqType); +static int decode_v2gPairingResType(bitstream_t* stream, struct v2gPairingResType* v2gPairingResType); +static int decode_v2gCartesianCoordinatesType(bitstream_t* stream, struct v2gCartesianCoordinatesType* v2gCartesianCoordinatesType); +static int decode_v2gChargeParameterDiscoveryReqType(bitstream_t* stream, struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType); +static int decode_v2gChargeParameterDiscoveryResType(bitstream_t* stream, struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType); +static int decode_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueType* v2gRSAKeyValueType); +static int decode_v2gLFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct v2gLFA_EVFinePositioningSetupParametersType* v2gLFA_EVFinePositioningSetupParametersType); +static int decode_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelectedServiceType* v2gSelectedServiceType); +static int decode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignaturePropertyType* v2gSignaturePropertyType); +static int decode_v2gAC_BidirectionalControlResType(bitstream_t* stream, struct v2gAC_BidirectionalControlResType* v2gAC_BidirectionalControlResType); +static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2gPGPDataType); +static int decode_v2gSystemStatusResType(bitstream_t* stream, struct v2gSystemStatusResType* v2gSystemStatusResType); +static int decode_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCertificateUpdateResType* v2gCertificateUpdateResType); +static int decode_v2gParameterSetType(bitstream_t* stream, struct v2gParameterSetType* v2gParameterSetType); +static int decode_v2gSAScheduleTupleType(bitstream_t* stream, struct v2gSAScheduleTupleType* v2gSAScheduleTupleType); +static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueType* v2gDSAKeyValueType); +static int decode_v2gMagneticVectorType(bitstream_t* stream, struct v2gMagneticVectorType* v2gMagneticVectorType); +static int decode_v2gServiceIDListType(bitstream_t* stream, struct v2gServiceIDListType* v2gServiceIDListType); +static int decode_v2gX509DataType(bitstream_t* stream, struct v2gX509DataType* v2gX509DataType); +static int decode_v2gEVEnergyTransferParameterType(bitstream_t* stream, struct v2gEVEnergyTransferParameterType* v2gEVEnergyTransferParameterType); +static int decode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeResType* v2gPreChargeResType); +static int decode_v2gFinePositioningResType(bitstream_t* stream, struct v2gFinePositioningResType* v2gFinePositioningResType); +static int decode_v2gLFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gLFA_EVSEFinePositioningSetupParametersType* v2gLFA_EVSEFinePositioningSetupParametersType); +static int decode_v2gMinimumPMaxRequestType(bitstream_t* stream, struct v2gMinimumPMaxRequestType* v2gMinimumPMaxRequestType); +static int decode_v2gCanonicalizationMethodType(bitstream_t* stream, struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType); +static int decode_v2gCertificateInstallationReqType(bitstream_t* stream, struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType); +static int decode_v2gVehicleCheckInReqType(bitstream_t* stream, struct v2gVehicleCheckInReqType* v2gVehicleCheckInReqType); +static int decode_v2gMV_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gMV_EVSEFinePositioningParametersType* v2gMV_EVSEFinePositioningParametersType); +static int decode_v2gPowerDeliveryResType(bitstream_t* stream, struct v2gPowerDeliveryResType* v2gPowerDeliveryResType); +static int decode_v2gEVSEEnergyTransferParameterType(bitstream_t* stream, struct v2gEVSEEnergyTransferParameterType* v2gEVSEEnergyTransferParameterType); +static int decode_v2gDiffieHellmanPublickeyType(bitstream_t* stream, struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType); +static int decode_v2gV2GResponseType(bitstream_t* stream, struct v2gV2GResponseType* v2gV2GResponseType); +static int decode_v2gCableCheckResType(bitstream_t* stream, struct v2gCableCheckResType* v2gCableCheckResType); +static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTariffEntryType* v2gSalesTariffEntryType); +static int decode_v2gChargingProfileType(bitstream_t* stream, struct v2gChargingProfileType* v2gChargingProfileType); +static int decode_v2gServiceDiscoveryResType(bitstream_t* stream, struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType); +static int decode_v2gPMaxScheduleType(bitstream_t* stream, struct v2gPMaxScheduleType* v2gPMaxScheduleType); +static int decode_v2gSensorPackageType(bitstream_t* stream, struct v2gSensorPackageType* v2gSensorPackageType); +static int decode_v2gDC_EVSEBidirectionalParameterType(bitstream_t* stream, struct v2gDC_EVSEBidirectionalParameterType* v2gDC_EVSEBidirectionalParameterType); +static int decode_v2gDC_EVSEChargeParameterType(bitstream_t* stream, struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType); +static int decode_v2gConnectChargingDeviceReqType(bitstream_t* stream, struct v2gConnectChargingDeviceReqType* v2gConnectChargingDeviceReqType); +static int decode_v2gCertificateUpdateReqType(bitstream_t* stream, struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType); +static int decode_v2gKeyInfoType(bitstream_t* stream, struct v2gKeyInfoType* v2gKeyInfoType); +static int decode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeldingDetectionResType* v2gWeldingDetectionResType); +static int decode_v2gPhysicalValueType(bitstream_t* stream, struct v2gPhysicalValueType* v2gPhysicalValueType); +static int decode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType); +static int decode_v2gSensorListType(bitstream_t* stream, struct v2gSensorListType* v2gSensorListType); +static int decode_v2gPairingReqType(bitstream_t* stream, struct v2gPairingReqType* v2gPairingReqType); +static int decode_v2gDisconnectChargingDeviceReqType(bitstream_t* stream, struct v2gDisconnectChargingDeviceReqType* v2gDisconnectChargingDeviceReqType); +static int decode_v2gParameterType(bitstream_t* stream, struct v2gParameterType* v2gParameterType); +static int decode_v2gEVSEFinePositioningParametersType(bitstream_t* stream, struct v2gEVSEFinePositioningParametersType* v2gEVSEFinePositioningParametersType); +static int decode_v2gAC_EVSEChargeParameterType(bitstream_t* stream, struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType); +static int decode_v2gServiceDiscoveryReqType(bitstream_t* stream, struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType); +static int decode_v2gConnectChargingDeviceResType(bitstream_t* stream, struct v2gConnectChargingDeviceResType* v2gConnectChargingDeviceResType); +static int decode_v2gPowerDemandReqType(bitstream_t* stream, struct v2gPowerDemandReqType* v2gPowerDemandReqType); +static int decode_v2gLFA_EVFinePositioningParametersType(bitstream_t* stream, struct v2gLFA_EVFinePositioningParametersType* v2gLFA_EVFinePositioningParametersType); +static int decode_v2gTransformType(bitstream_t* stream, struct v2gTransformType* v2gTransformType); +static int decode_v2gObjectType(bitstream_t* stream, struct v2gObjectType* v2gObjectType); +static int decode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType); +static int decode_v2gGeneric_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gGeneric_EVSEFinePositioningParametersType* v2gGeneric_EVSEFinePositioningParametersType); +static int decode_v2gSensorPackageListType(bitstream_t* stream, struct v2gSensorPackageListType* v2gSensorPackageListType); +static int decode_v2gPaymentDetailsResType(bitstream_t* stream, struct v2gPaymentDetailsResType* v2gPaymentDetailsResType); +static int decode_v2gAnonType_V2G_Message(bitstream_t* stream, struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message); +static int decode_v2gAC_BidirectionalControlReqType(bitstream_t* stream, struct v2gAC_BidirectionalControlReqType* v2gAC_BidirectionalControlReqType); +static int decode_v2gBodyBaseType(bitstream_t* stream, struct v2gBodyBaseType* v2gBodyBaseType); +static int decode_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionStopReqType* v2gSessionStopReqType); +static int decode_v2gEntryType(bitstream_t* stream, struct v2gEntryType* v2gEntryType); +static int decode_v2gPowerDemandResType(bitstream_t* stream, struct v2gPowerDemandResType* v2gPowerDemandResType); +static int decode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionSetupResType* v2gSessionSetupResType); +static int decode_v2gVehicleCheckOutResType(bitstream_t* stream, struct v2gVehicleCheckOutResType* v2gVehicleCheckOutResType); +static int decode_v2gKeyValueType(bitstream_t* stream, struct v2gKeyValueType* v2gKeyValueType); +static int decode_v2gEMAIDType(bitstream_t* stream, struct v2gEMAIDType* v2gEMAIDType); +static int decode_v2gTransformsType(bitstream_t* stream, struct v2gTransformsType* v2gTransformsType); +static int decode_v2gCurrentDemandReqType(bitstream_t* stream, struct v2gCurrentDemandReqType* v2gCurrentDemandReqType); +static int decode_v2gRetrievalMethodType(bitstream_t* stream, struct v2gRetrievalMethodType* v2gRetrievalMethodType); +static int decode_v2gServiceListType(bitstream_t* stream, struct v2gServiceListType* v2gServiceListType); +static int decode_v2gDC_EVBidirectionalParameterType(bitstream_t* stream, struct v2gDC_EVBidirectionalParameterType* v2gDC_EVBidirectionalParameterType); +static int decode_v2gServiceDetailResType(bitstream_t* stream, struct v2gServiceDetailResType* v2gServiceDetailResType); +static int decode_v2gSelectedServiceListType(bitstream_t* stream, struct v2gSelectedServiceListType* v2gSelectedServiceListType); +static int decode_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType); +static int decode_v2gDisconnectChargingDeviceResType(bitstream_t* stream, struct v2gDisconnectChargingDeviceResType* v2gDisconnectChargingDeviceResType); +static int decode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType); +static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargingStatusResType* v2gChargingStatusResType); +static int decode_v2gPaymentDetailsReqType(bitstream_t* stream, struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType); +static int decode_v2gMagneticVectorSetupType(bitstream_t* stream, struct v2gMagneticVectorSetupType* v2gMagneticVectorSetupType); +static int decode_v2gDC_EVChargeParameterType(bitstream_t* stream, struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType); +static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* v2gReferenceType); +static int decode_v2gServiceDetailReqType(bitstream_t* stream, struct v2gServiceDetailReqType* v2gServiceDetailReqType); +static int decode_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymentOptionListType* v2gPaymentOptionListType); +static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrentDemandResType* v2gCurrentDemandResType); +static int decode_v2gDC_BidirectionalControlResType(bitstream_t* stream, struct v2gDC_BidirectionalControlResType* v2gDC_BidirectionalControlResType); +static int decode_v2gWPT_EVChargeParameterType(bitstream_t* stream, struct v2gWPT_EVChargeParameterType* v2gWPT_EVChargeParameterType); +static int decode_v2gSessionSetupReqType(bitstream_t* stream, struct v2gSessionSetupReqType* v2gSessionSetupReqType); +static int decode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMethodType* v2gDigestMethodType); /* Deviant data decoding (skip functions) */ -static int decodeDeviationsCH(bitstream_t* stream) { - int i=0; - uint16_t uint16; - errn = 0; - - errn = decodeUnsignedInteger16(stream, &uint16); - if (errn == 0) { - for(i=0; iId.charactersLen); + if (errn == 0) { + if (v2gSignatureValueType->Id.charactersLen >= 2) { + v2gSignatureValueType->Id.charactersLen = (uint16_t)(v2gSignatureValueType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignatureValueType->Id.charactersLen, v2gSignatureValueType->Id.characters, v2gSignatureValueType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignatureValueType->Id_isUsed = 1u; grammarID = 1; break; + case 1: + errn = decodeUnsignedInteger16(stream, &v2gSignatureValueType->CONTENT.bytesLen); + if (errn == 0) { + errn = (v2gSignatureValueType->CONTENT.bytesLen) <= v2gSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gSignatureValueType->CONTENT.bytesLen, v2gSignatureValueType->CONTENT.bytes); + } + grammarID = 2; + 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:2013:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ -static int decode_v2gDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct v2gDC_EVPowerDeliveryParameterType* v2gDC_EVPowerDeliveryParameterType) { - int grammarID = 2; - int done = 0; - - init_v2gDC_EVPowerDeliveryParameterType(v2gDC_EVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 2: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ + case 1: + /* StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gDC_EVStatusType(stream, &v2gDC_EVPowerDeliveryParameterType->DC_EVStatus); + errn = decodeUnsignedInteger16(stream, &v2gSignatureValueType->CONTENT.bytesLen); + if (errn == 0) { + errn = (v2gSignatureValueType->CONTENT.bytesLen) <= v2gSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gSignatureValueType->CONTENT.bytesLen, v2gSignatureValueType->CONTENT.bytes); + } + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; grammarID = 3; break; default: @@ -232,100 +283,34 @@ static int decode_v2gDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct } } break; - case 3: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete)] */ - 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, &v2gDC_EVPowerDeliveryParameterType->BulkChargingComplete); - v2gDC_EVPowerDeliveryParameterType->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:2013:MsgDataTypes}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 4; - } 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, &v2gDC_EVPowerDeliveryParameterType->ChargingComplete); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - 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_v2gEVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gEVSEFinePositioningSetupParametersType* v2gEVSEFinePositioningSetupParametersType) { + int grammarID = 4; + int done = 0; + + init_v2gEVSEFinePositioningSetupParametersType(v2gEVSEFinePositioningSetupParametersType); + + while(!done) { + switch(grammarID) { case 4: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete)] */ - 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, &v2gDC_EVPowerDeliveryParameterType->ChargingComplete); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ + /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -344,17 +329,17 @@ static int decode_v2gDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2013:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2013:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrentDemandResType* v2gCurrentDemandResType) { - int grammarID = 6; +/* 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_v2gAlignmentCheckResType(bitstream_t* stream, struct v2gAlignmentCheckResType* v2gAlignmentCheckResType) { + int grammarID = 5; int done = 0; - init_v2gCurrentDemandResType(v2gCurrentDemandResType); + init_v2gAlignmentCheckResType(v2gAlignmentCheckResType); while(!done) { switch(grammarID) { - case 6: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 5: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -364,17 +349,55 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - v2gCurrentDemandResType->ResponseCode = (v2gresponseCodeType) uint32; + v2gAlignmentCheckResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 7; + 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_v2gEVSEStatusType(stream, &v2gAlignmentCheckResType->EVSEStatus); + v2gAlignmentCheckResType->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); + v2gAlignmentCheckResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 8; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -387,13 +410,31 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 7: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gDC_EVSEStatusType(stream, &v2gCurrentDemandResType->DC_EVSEStatus); - grammarID = 8; + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gAlignmentCheckResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 8; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -402,13 +443,18 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 8: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + /* 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_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentVoltage); - grammarID = 9; + errn = decode_v2gParameterSetType(stream, &v2gAlignmentCheckResType->AlignmentCheckParameters); + v2gAlignmentCheckResType->AlignmentCheckParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -416,13 +462,57 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } } break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent)] */ + case 2: + /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentCurrent); + done = 1; + grammarID = 3; + 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_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffType* v2gSalesTariffType) { + int grammarID = 9; + int done = 0; + + init_v2gSalesTariffType(v2gSalesTariffType); + + while(!done) { + switch(grammarID) { + case 9: + /* 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, &v2gSalesTariffType->Id.charactersLen); + if (errn == 0) { + if (v2gSalesTariffType->Id.charactersLen >= 2) { + v2gSalesTariffType->Id.charactersLen = (uint16_t)(v2gSalesTariffType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSalesTariffType->Id.charactersLen, v2gSalesTariffType->Id.characters, v2gSalesTariffType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } grammarID = 10; break; default: @@ -432,23 +522,24 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 10: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSECurrentLimitAchieved)] */ + /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeBoolean(stream, &v2gCurrentDemandResType->EVSECurrentLimitAchieved); + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gSalesTariffType->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:2013:MsgBody}EVSECurrentLimitAchieved) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 11; @@ -464,23 +555,33 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 11: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEVoltageLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + /* 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[BOOLEAN]] */ + /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeBoolean(stream, &v2gCurrentDemandResType->EVSEVoltageLimitAchieved); + errn = decodeUnsignedInteger16(stream, &v2gSalesTariffType->SalesTariffDescription.charactersLen); + if (errn == 0) { + if (v2gSalesTariffType->SalesTariffDescription.charactersLen >= 2) { + v2gSalesTariffType->SalesTariffDescription.charactersLen = (uint16_t)(v2gSalesTariffType->SalesTariffDescription.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSalesTariffType->SalesTariffDescription.charactersLen, v2gSalesTariffType->SalesTariffDescription.characters, v2gSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSalesTariffType->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:2013:MsgBody}EVSEVoltageLimitAchieved) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 12; @@ -489,30 +590,21 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } } break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 12: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPowerLimitAchieved)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + case 1: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeBoolean(stream, &v2gCurrentDemandResType->EVSEPowerLimitAchieved); + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gSalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); + v2gSalesTariffType->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:2013:MsgBody}EVSEPowerLimitAchieved) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 13; @@ -521,6 +613,56 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } } break; + case 2: + if (v2gSalesTariffType->SalesTariffEntry.arrayLen < v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { + errn = decode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array[v2gSalesTariffType->SalesTariffEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 14; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 12: + /* 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)); + v2gSalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); + v2gSalesTariffType->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 = 13; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + if (v2gSalesTariffType->SalesTariffEntry.arrayLen < v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { + errn = decode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array[v2gSalesTariffType->SalesTariffEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 14; + break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; @@ -528,58 +670,18 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 13: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumVoltageLimit); - v2gCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 1u; + if (v2gSalesTariffType->SalesTariffEntry.arrayLen < v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { + errn = decode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array[v2gSalesTariffType->SalesTariffEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } grammarID = 14; break; - case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumCurrentLimit); - v2gCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 15; - break; - case 2: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumPowerLimit); - v2gCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 16; - break; - case 3: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gCurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - errn = (v2gCurrentDemandResType->EVSEID.charactersLen - 2) <= v2gCurrentDemandResType_EVSEID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gCurrentDemandResType->EVSEID.charactersLen >= 2) { - v2gCurrentDemandResType->EVSEID.charactersLen = (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gCurrentDemandResType->EVSEID.charactersLen, v2gCurrentDemandResType->EVSEID.characters); - } 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:2013:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 17; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; @@ -587,52 +689,66 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumCurrentLimit); - v2gCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 1u; - grammarID = 15; + if (v2gSalesTariffType->SalesTariffEntry.arrayLen < v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { + errn = decode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array[v2gSalesTariffType->SalesTariffEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 14; break; case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumPowerLimit); - v2gCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 16; + done = 1; + grammarID = 3; + 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_v2gFinePositioningSetupReqType(bitstream_t* stream, struct v2gFinePositioningSetupReqType* v2gFinePositioningSetupReqType) { + int grammarID = 15; + int done = 0; + + init_v2gFinePositioningSetupReqType(v2gFinePositioningSetupReqType); + + while(!done) { + switch(grammarID) { + case 15: + /* 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_v2gEVFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupReqType->EVFinePositioningSetupParameters); + v2gFinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + errn = decode_v2gLFA_EVFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters); + v2gFinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed = 1u; + grammarID = 2; break; case 2: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gCurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - errn = (v2gCurrentDemandResType->EVSEID.charactersLen - 2) <= v2gCurrentDemandResType_EVSEID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gCurrentDemandResType->EVSEID.charactersLen >= 2) { - v2gCurrentDemandResType->EVSEID.charactersLen = (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gCurrentDemandResType->EVSEID.charactersLen, v2gCurrentDemandResType->EVSEID.characters); - } 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:2013:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 17; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -640,85 +756,70 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } } break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumPowerLimit); - v2gCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 1u; - grammarID = 16; - break; - case 1: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gCurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - errn = (v2gCurrentDemandResType->EVSEID.charactersLen - 2) <= v2gCurrentDemandResType_EVSEID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gCurrentDemandResType->EVSEID.charactersLen >= 2) { - v2gCurrentDemandResType->EVSEID.charactersLen = (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gCurrentDemandResType->EVSEID.charactersLen, v2gCurrentDemandResType->EVSEID.characters); - } 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:2013:MsgBody}EVSEID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 17; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 16: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ + case 2: + /* Element[END_ELEMENT] */ 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, &v2gCurrentDemandResType->EVSEID.charactersLen); - if (errn == 0) { - errn = (v2gCurrentDemandResType->EVSEID.charactersLen - 2) <= v2gCurrentDemandResType_EVSEID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gCurrentDemandResType->EVSEID.charactersLen >= 2) { - v2gCurrentDemandResType->EVSEID.charactersLen = (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gCurrentDemandResType->EVSEID.charactersLen, v2gCurrentDemandResType->EVSEID.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + done = 1; + grammarID = 3; + 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_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCertificatesType* v2gSubCertificatesType) { + int grammarID = 16; + int done = 0; + + init_v2gSubCertificatesType(v2gSubCertificatesType); + + while(!done) { + switch(grammarID) { + case 16: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gSubCertificatesType->Certificate.arrayLen < v2gSubCertificatesType_Certificate_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen) <= v2gSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } + if (errn == 0) { + errn = decodeBytes(stream, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytes); + } + v2gSubCertificatesType->Certificate.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 17; @@ -734,24 +835,34 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), 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)); - v2gCurrentDemandResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + if (v2gSubCertificatesType->Certificate.arrayLen < v2gSubCertificatesType_Certificate_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen) <= v2gSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytes); + } + v2gSubCertificatesType->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:2013:MsgBody}SAScheduleTupleID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 18; @@ -760,6 +871,10 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } } break; + case 1: + done = 1; + grammarID = 3; + break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; @@ -767,40 +882,45 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 18: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gMeterInfoType(stream, &v2gCurrentDemandResType->MeterInfo); - v2gCurrentDemandResType->MeterInfo_isUsed = 1u; - grammarID = 19; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &v2gCurrentDemandResType->ReceiptRequired); - v2gCurrentDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + if (v2gSubCertificatesType->Certificate.arrayLen < v2gSubCertificatesType_Certificate_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen) <= v2gSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytes); + } + v2gSubCertificatesType->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:2013:MsgBody}ReceiptRequired) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 19; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; - case 2: + case 1: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -809,27 +929,37 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 19: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), 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, &v2gCurrentDemandResType->ReceiptRequired); - v2gCurrentDemandResType->ReceiptRequired_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + if (v2gSubCertificatesType->Certificate.arrayLen < v2gSubCertificatesType_Certificate_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen) <= v2gSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytes); + } + v2gSubCertificatesType->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:2013:MsgBody}ReceiptRequired) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -837,7 +967,7 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent break; case 1: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -845,14 +975,14 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } } break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -871,33 +1001,34 @@ static int decode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))', derivedBy='EXTENSION'. */ -static int decode_v2gAC_EVSEStatusType(bitstream_t* stream, struct v2gAC_EVSEStatusType* v2gAC_EVSEStatusType) { +/* 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_v2gCertificateInstallationResType(bitstream_t* stream, struct v2gCertificateInstallationResType* v2gCertificateInstallationResType) { int grammarID = 20; int done = 0; - init_v2gAC_EVSEStatusType(v2gAC_EVSEStatusType); + init_v2gCertificateInstallationResType(v2gCertificateInstallationResType); while(!done) { switch(grammarID) { case 20: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay)] */ + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gAC_EVSEStatusType->NotificationMaxDelay); + errn = decodeNBitUnsignedInteger(stream, 5, &uint32); + v2gCertificateInstallationResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgDataTypes}NotificationMaxDelay) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 21; @@ -913,31 +1044,18 @@ static int decode_v2gAC_EVSEStatusType(bitstream_t* stream, struct v2gAC_EVSESta } break; case 21: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + /* 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: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - v2gAC_EVSEStatusType->EVSENotification = (v2gEVSENotificationType) 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:2013:MsgDataTypes}EVSENotification) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 22; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gEVSEStatusType(stream, &v2gCertificateInstallationResType->EVSEStatus); + v2gCertificateInstallationResType->EVSEStatus_isUsed = 1u; + grammarID = 22; + break; + case 1: + errn = decode_v2gCertificateChainType(stream, &v2gCertificateInstallationResType->SAProvisioningCertificateChain); + grammarID = 23; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -946,30 +1064,13 @@ static int decode_v2gAC_EVSEStatusType(bitstream_t* stream, struct v2gAC_EVSESta } break; case 22: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RCD)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ 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, &v2gAC_EVSEStatusType->RCD); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RCD) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gCertificateChainType(stream, &v2gCertificateInstallationResType->SAProvisioningCertificateChain); + grammarID = 23; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -977,67 +1078,14 @@ static int decode_v2gAC_EVSEStatusType(bitstream_t* stream, struct v2gAC_EVSESta } } break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int decode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeResType* v2gPreChargeResType) { - int grammarID = 23; - int done = 0; - - init_v2gPreChargeResType(v2gPreChargeResType); - - while(!done) { - switch(grammarID) { case 23: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ 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); - v2gPreChargeResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 24; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gCertificateChainType(stream, &v2gCertificateInstallationResType->ContractSignatureCertChain); + grammarID = 24; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1046,12 +1094,12 @@ static int decode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeRe } break; case 24: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gDC_EVSEStatusType(stream, &v2gPreChargeResType->DC_EVSEStatus); + errn = decode_v2gContractSignatureEncryptedPrivateKeyType(stream, &v2gCertificateInstallationResType->ContractSignatureEncryptedPrivateKey); grammarID = 25; break; default: @@ -1061,13 +1109,13 @@ static int decode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeRe } break; case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gPreChargeResType->EVSEPresentVoltage); - grammarID = 5; + errn = decode_v2gDiffieHellmanPublickeyType(stream, &v2gCertificateInstallationResType->DHpublickey); + grammarID = 26; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1075,14 +1123,29 @@ static int decode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeRe } } break; - case 5: + case 26: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gEMAIDType(stream, &v2gCertificateInstallationResType->eMAID); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1101,84 +1164,42 @@ static int decode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeRe return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2013:MsgDataTypes":NumEPriceLevels{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffType* v2gSalesTariffType) { - int grammarID = 26; +/* 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_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* v2gMeterInfoType) { + int grammarID = 27; int done = 0; - init_v2gSalesTariffType(v2gSalesTariffType); + init_v2gMeterInfoType(v2gMeterInfoType); while(!done) { switch(grammarID) { - case 26: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gSalesTariffType->Id.charactersLen); - if (errn == 0) { - errn = (v2gSalesTariffType->Id.charactersLen - 2) <= v2gSalesTariffType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSalesTariffType->Id.charactersLen >= 2) { - v2gSalesTariffType->Id.charactersLen = (uint16_t)(v2gSalesTariffType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSalesTariffType->Id.charactersLen, v2gSalesTariffType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gSalesTariffType->Id_isUsed = 1u; - grammarID = 27; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - v2gSalesTariffType->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:2013:MsgDataTypes}SalesTariffID) ? */ - 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: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID)] */ + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - v2gSalesTariffType->SalesTariffID = (uint8_t)(uint32 + 1); + errn = decodeUnsignedInteger16(stream, &v2gMeterInfoType->MeterID.charactersLen); + if (errn == 0) { + if (v2gMeterInfoType->MeterID.charactersLen >= 2) { + v2gMeterInfoType->MeterID.charactersLen = (uint16_t)(v2gMeterInfoType->MeterID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gMeterInfoType->MeterID.charactersLen, v2gMeterInfoType->MeterID.characters, v2gMeterInfoType_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:2013:MsgDataTypes}SalesTariffID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; @@ -1194,36 +1215,24 @@ static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT } break; case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + /* 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: - /* FirstStartTag[CHARACTERS[STRING]] */ + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gSalesTariffType->SalesTariffDescription.charactersLen); - if (errn == 0) { - errn = (v2gSalesTariffType->SalesTariffDescription.charactersLen - 2) <= v2gSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSalesTariffType->SalesTariffDescription.charactersLen >= 2) { - v2gSalesTariffType->SalesTariffDescription.charactersLen = (uint16_t)(v2gSalesTariffType->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSalesTariffType->SalesTariffDescription.charactersLen, v2gSalesTariffType->SalesTariffDescription.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gSalesTariffType->SalesTariffDescription_isUsed = 1u; + errn = decodeUnsignedInteger64(stream, &v2gMeterInfoType->MeterReadingCharged); + v2gMeterInfoType->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:2013:MsgDataTypes}SalesTariffDescription) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 29; @@ -1233,20 +1242,19 @@ static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT } break; case 1: - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - v2gSalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - v2gSalesTariffType->NumEPriceLevels_isUsed = 1u; + errn = decodeUnsignedInteger64(stream, &v2gMeterInfoType->MeterReadingDischarged); + v2gMeterInfoType->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:2013:MsgDataTypes}NumEPriceLevels) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 30; @@ -1256,12 +1264,80 @@ static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT } break; case 2: - if (v2gSalesTariffType->SalesTariffEntry.arrayLen < v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array[v2gSalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gMeterInfoType->SigMeterReading.bytesLen); + if (errn == 0) { + errn = (v2gMeterInfoType->SigMeterReading.bytesLen) <= v2gMeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gMeterInfoType->SigMeterReading.bytesLen, v2gMeterInfoType->SigMeterReading.bytes); + } + v2gMeterInfoType->SigMeterReading_isUsed = 1u; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } } - grammarID = 31; + 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 = 31; + } 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, &v2gMeterInfoType->MeterStatus); + v2gMeterInfoType->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 = 32; + } 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, &v2gMeterInfoType->TMeter); + v2gMeterInfoType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 5: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1270,25 +1346,24 @@ static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT } break; case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + /* 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[NBIT_UNSIGNED_INTEGER]] */ + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - v2gSalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); - v2gSalesTariffType->NumEPriceLevels_isUsed = 1u; + errn = decodeUnsignedInteger64(stream, &v2gMeterInfoType->MeterReadingDischarged); + v2gMeterInfoType->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:2013:MsgDataTypes}NumEPriceLevels) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 30; @@ -1298,12 +1373,80 @@ static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT } break; case 1: - if (v2gSalesTariffType->SalesTariffEntry.arrayLen < v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array[v2gSalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gMeterInfoType->SigMeterReading.bytesLen); + if (errn == 0) { + errn = (v2gMeterInfoType->SigMeterReading.bytesLen) <= v2gMeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gMeterInfoType->SigMeterReading.bytesLen, v2gMeterInfoType->SigMeterReading.bytes); + } + v2gMeterInfoType->SigMeterReading_isUsed = 1u; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } } - grammarID = 31; + 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 = 31; + } 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, &v2gMeterInfoType->MeterStatus); + v2gMeterInfoType->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 = 32; + } 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, &v2gMeterInfoType->TMeter); + v2gMeterInfoType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 4: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1312,17 +1455,85 @@ static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT } break; case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + /* 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: - if (v2gSalesTariffType->SalesTariffEntry.arrayLen < v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array[v2gSalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gMeterInfoType->SigMeterReading.bytesLen); + if (errn == 0) { + errn = (v2gMeterInfoType->SigMeterReading.bytesLen) <= v2gMeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gMeterInfoType->SigMeterReading.bytesLen, v2gMeterInfoType->SigMeterReading.bytes); + } + v2gMeterInfoType->SigMeterReading_isUsed = 1u; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } } - grammarID = 31; + 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 = 31; + } 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, &v2gMeterInfoType->MeterStatus); + v2gMeterInfoType->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 = 32; + } 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, &v2gMeterInfoType->TMeter); + v2gMeterInfoType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1331,21 +1542,109 @@ static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT } break; case 31: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ + /* 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: - if (v2gSalesTariffType->SalesTariffEntry.arrayLen < v2gSalesTariffType_SalesTariffEntry_ARRAY_SIZE) { - errn = decode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array[v2gSalesTariffType->SalesTariffEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; + /* FirstStartTag[CHARACTERS[INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeInteger16(stream, &v2gMeterInfoType->MeterStatus); + v2gMeterInfoType->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 = 32; + } 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, &v2gMeterInfoType->TMeter); + v2gMeterInfoType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 32: + /* 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, &v2gMeterInfoType->TMeter); + v2gMeterInfoType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } } - grammarID = 31; break; case 1: done = 1; - grammarID = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1364,78 +1663,22 @@ static int decode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT 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_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignaturePropertyType* v2gSignaturePropertyType) { - int grammarID = 32; +/* 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_v2gChargeLoopReqType(bitstream_t* stream, struct v2gChargeLoopReqType* v2gChargeLoopReqType) { + int grammarID = 33; int done = 0; - init_v2gSignaturePropertyType(v2gSignaturePropertyType); + init_v2gChargeLoopReqType(v2gChargeLoopReqType); while(!done) { switch(grammarID) { - case 32: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gSignaturePropertyType->Id.charactersLen); - if (errn == 0) { - errn = (v2gSignaturePropertyType->Id.charactersLen - 2) <= v2gSignaturePropertyType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSignaturePropertyType->Id.charactersLen >= 2) { - v2gSignaturePropertyType->Id.charactersLen = (uint16_t)(v2gSignaturePropertyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSignaturePropertyType->Id.charactersLen, v2gSignaturePropertyType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gSignaturePropertyType->Id_isUsed = 1u; - grammarID = 33; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &v2gSignaturePropertyType->Target.charactersLen); - if (errn == 0) { - errn = (v2gSignaturePropertyType->Target.charactersLen - 2) <= v2gSignaturePropertyType_Target_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSignaturePropertyType->Target.charactersLen >= 2) { - v2gSignaturePropertyType->Target.charactersLen = (uint16_t)(v2gSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSignaturePropertyType->Target.charactersLen, v2gSignaturePropertyType->Target.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 34; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; case 33: - /* StartTag[ATTRIBUTE[STRING](Target)] */ + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decodeUnsignedInteger16(stream, &v2gSignaturePropertyType->Target.charactersLen); - if (errn == 0) { - errn = (v2gSignaturePropertyType->Target.charactersLen - 2) <= v2gSignaturePropertyType_Target_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSignaturePropertyType->Target.charactersLen >= 2) { - v2gSignaturePropertyType->Target.charactersLen = (uint16_t)(v2gSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSignaturePropertyType->Target.charactersLen, v2gSignaturePropertyType->Target.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gChargeLoopReqType->EVTargetEnergyRequest); grammarID = 34; break; default: @@ -1445,19 +1688,29 @@ static int decode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignat } break; case 34: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + /* 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 = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ + errn = decode_v2gPhysicalValueType(stream, &v2gChargeLoopReqType->EVMaximumEnergyRequest); + v2gChargeLoopReqType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 35; break; case 1: - errn = decodeDeviationsCH(stream); + errn = decode_v2gPhysicalValueType(stream, &v2gChargeLoopReqType->EVMinimumEnergyRequest); + v2gChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 36; break; + case 2: + errn = decode_v2gDisplayParametersType(stream, &v2gChargeLoopReqType->DisplayParameters); + v2gChargeLoopReqType->DisplayParameters_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; @@ -1465,21 +1718,23 @@ static int decode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignat } break; case 35: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + /* 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 = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 35; + errn = decode_v2gPhysicalValueType(stream, &v2gChargeLoopReqType->EVMinimumEnergyRequest); + v2gChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 36; break; case 1: - done = 1; - grammarID = 1; + errn = decode_v2gDisplayParametersType(stream, &v2gChargeLoopReqType->DisplayParameters); + v2gChargeLoopReqType->DisplayParameters_isUsed = 1u; + grammarID = 2; break; case 2: - grammarID = 35; + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1488,17 +1743,33 @@ static int decode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignat } break; case 36: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ + /* 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 = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 35; + errn = decode_v2gDisplayParametersType(stream, &v2gChargeLoopReqType->DisplayParameters); + v2gChargeLoopReqType->DisplayParameters_isUsed = 1u; + grammarID = 2; break; case 1: - grammarID = 36; + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1517,34 +1788,39 @@ static int decode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignat return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2013:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ -static int decode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType) { +/* 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_v2gMessageHeaderType(bitstream_t* stream, struct v2gMessageHeaderType* v2gMessageHeaderType) { int grammarID = 37; int done = 0; - init_v2gPaymentServiceSelectionReqType(v2gPaymentServiceSelectionReqType); + init_v2gMessageHeaderType(v2gMessageHeaderType); while(!done) { switch(grammarID) { case 37: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption)] */ + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - v2gPaymentServiceSelectionReqType->SelectedPaymentOption = (v2gpaymentOptionType) uint32; + errn = decodeUnsignedInteger16(stream, &v2gMessageHeaderType->SessionID.bytesLen); + if (errn == 0) { + errn = (v2gMessageHeaderType->SessionID.bytesLen) <= v2gMessageHeaderType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gMessageHeaderType->SessionID.bytesLen, v2gMessageHeaderType->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:2013:MsgBody}SelectedPaymentOption) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 38; @@ -1560,13 +1836,18 @@ static int decode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct } break; case 38: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + /* 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_v2gSelectedServiceListType(stream, &v2gPaymentServiceSelectionReqType->SelectedServiceList); - grammarID = 5; + errn = decode_v2gSignatureType(stream, &v2gMessageHeaderType->Signature); + v2gMessageHeaderType->Signature_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1574,14 +1855,35177 @@ static int decode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct } } break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; + 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_v2gSignatureType(bitstream_t* stream, struct v2gSignatureType* v2gSignatureType) { + int grammarID = 39; + int done = 0; + + init_v2gSignatureType(v2gSignatureType); + + while(!done) { + switch(grammarID) { + case 39: + /* 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, &v2gSignatureType->Id.charactersLen); + if (errn == 0) { + if (v2gSignatureType->Id.charactersLen >= 2) { + v2gSignatureType->Id.charactersLen = (uint16_t)(v2gSignatureType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignatureType->Id.charactersLen, v2gSignatureType->Id.characters, v2gSignatureType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignatureType->Id_isUsed = 1u; + grammarID = 40; + break; + case 1: + errn = decode_v2gSignedInfoType(stream, &v2gSignatureType->SignedInfo); + grammarID = 41; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 40: + /* 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_v2gSignedInfoType(stream, &v2gSignatureType->SignedInfo); + grammarID = 41; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 41: + /* 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_v2gSignatureValueType(stream, &v2gSignatureType->SignatureValue); + grammarID = 42; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 42: + /* 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_v2gKeyInfoType(stream, &v2gSignatureType->KeyInfo); + v2gSignatureType->KeyInfo_isUsed = 1u; + grammarID = 43; + break; + case 1: + if (v2gSignatureType->Object.arrayLen < v2gSignatureType_Object_ARRAY_SIZE) { + errn = decode_v2gObjectType(stream, &v2gSignatureType->Object.array[v2gSignatureType->Object.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 43; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 43: + /* 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 (v2gSignatureType->Object.arrayLen < v2gSignatureType_Object_ARRAY_SIZE) { + errn = decode_v2gObjectType(stream, &v2gSignatureType->Object.array[v2gSignatureType->Object.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 43; + break; + case 1: + done = 1; + grammarID = 3; + 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_v2gBodyType(bitstream_t* stream, struct v2gBodyType* v2gBodyType) { + int grammarID = 44; + int done = 0; + + init_v2gBodyType(v2gBodyType); + + while(!done) { + switch(grammarID) { + case 44: + /* 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}EVErrorInformation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEErrorInformation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorInformation), 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, 7, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gAC_BidirectionalControlReqType(stream, &v2gBodyType->AC_BidirectionalControlReq); + v2gBodyType->AC_BidirectionalControlReq_isUsed = 1u; + grammarID = 2; + break; + case 1: + errn = decode_v2gAC_BidirectionalControlResType(stream, &v2gBodyType->AC_BidirectionalControlRes); + v2gBodyType->AC_BidirectionalControlRes_isUsed = 1u; + grammarID = 2; + break; + case 2: + errn = decode_v2gAlignmentCheckReqType(stream, &v2gBodyType->AlignmentCheckReq); + v2gBodyType->AlignmentCheckReq_isUsed = 1u; + grammarID = 2; + break; + case 3: + errn = decode_v2gAlignmentCheckResType(stream, &v2gBodyType->AlignmentCheckRes); + v2gBodyType->AlignmentCheckRes_isUsed = 1u; + grammarID = 2; + break; + case 4: + errn = decode_v2gAuthorizationReqType(stream, &v2gBodyType->AuthorizationReq); + v2gBodyType->AuthorizationReq_isUsed = 1u; + grammarID = 2; + break; + case 5: + errn = decode_v2gAuthorizationResType(stream, &v2gBodyType->AuthorizationRes); + v2gBodyType->AuthorizationRes_isUsed = 1u; + grammarID = 2; + break; + case 6: + errn = decode_v2gBodyBaseType(stream, &v2gBodyType->BodyElement); + v2gBodyType->BodyElement_isUsed = 1u; + grammarID = 2; + break; + case 7: + errn = decode_v2gBodyBaseType(stream, &v2gBodyType->CableCheckReq); + v2gBodyType->CableCheckReq_isUsed = 1u; + grammarID = 2; + break; + case 8: + errn = decode_v2gCableCheckResType(stream, &v2gBodyType->CableCheckRes); + v2gBodyType->CableCheckRes_isUsed = 1u; + grammarID = 2; + break; + case 9: + errn = decode_v2gCertificateInstallationReqType(stream, &v2gBodyType->CertificateInstallationReq); + v2gBodyType->CertificateInstallationReq_isUsed = 1u; + grammarID = 2; + break; + case 10: + errn = decode_v2gCertificateInstallationResType(stream, &v2gBodyType->CertificateInstallationRes); + v2gBodyType->CertificateInstallationRes_isUsed = 1u; + grammarID = 2; + break; + case 11: + errn = decode_v2gCertificateUpdateReqType(stream, &v2gBodyType->CertificateUpdateReq); + v2gBodyType->CertificateUpdateReq_isUsed = 1u; + grammarID = 2; + break; + case 12: + errn = decode_v2gCertificateUpdateResType(stream, &v2gBodyType->CertificateUpdateRes); + v2gBodyType->CertificateUpdateRes_isUsed = 1u; + grammarID = 2; + break; + case 13: + errn = decode_v2gChargeParameterDiscoveryReqType(stream, &v2gBodyType->ChargeParameterDiscoveryReq); + v2gBodyType->ChargeParameterDiscoveryReq_isUsed = 1u; + grammarID = 2; + break; + case 14: + errn = decode_v2gChargeParameterDiscoveryResType(stream, &v2gBodyType->ChargeParameterDiscoveryRes); + v2gBodyType->ChargeParameterDiscoveryRes_isUsed = 1u; + grammarID = 2; + break; + case 15: + errn = decode_v2gChargingStatusReqType(stream, &v2gBodyType->ChargingStatusReq); + v2gBodyType->ChargingStatusReq_isUsed = 1u; + grammarID = 2; + break; + case 16: + errn = decode_v2gChargingStatusResType(stream, &v2gBodyType->ChargingStatusRes); + v2gBodyType->ChargingStatusRes_isUsed = 1u; + grammarID = 2; + break; + case 17: + errn = decode_v2gConnectChargingDeviceReqType(stream, &v2gBodyType->ConnectChargingDeviceReq); + v2gBodyType->ConnectChargingDeviceReq_isUsed = 1u; + grammarID = 2; + break; + case 18: + errn = decode_v2gConnectChargingDeviceResType(stream, &v2gBodyType->ConnectChargingDeviceRes); + v2gBodyType->ConnectChargingDeviceRes_isUsed = 1u; + grammarID = 2; + break; + case 19: + errn = decode_v2gCurrentDemandReqType(stream, &v2gBodyType->CurrentDemandReq); + v2gBodyType->CurrentDemandReq_isUsed = 1u; + grammarID = 2; + break; + case 20: + errn = decode_v2gCurrentDemandResType(stream, &v2gBodyType->CurrentDemandRes); + v2gBodyType->CurrentDemandRes_isUsed = 1u; + grammarID = 2; + break; + case 21: + errn = decode_v2gDC_BidirectionalControlReqType(stream, &v2gBodyType->DC_BidirectionalControlReq); + v2gBodyType->DC_BidirectionalControlReq_isUsed = 1u; + grammarID = 2; + break; + case 22: + errn = decode_v2gDC_BidirectionalControlResType(stream, &v2gBodyType->DC_BidirectionalControlRes); + v2gBodyType->DC_BidirectionalControlRes_isUsed = 1u; + grammarID = 2; + break; + case 23: + errn = decode_v2gDisconnectChargingDeviceReqType(stream, &v2gBodyType->DisconnectChargingDeviceReq); + v2gBodyType->DisconnectChargingDeviceReq_isUsed = 1u; + grammarID = 2; + break; + case 24: + errn = decode_v2gDisconnectChargingDeviceResType(stream, &v2gBodyType->DisconnectChargingDeviceRes); + v2gBodyType->DisconnectChargingDeviceRes_isUsed = 1u; + grammarID = 2; + break; + case 25: + errn = decode_v2gEVErrorInformationType(stream, &v2gBodyType->EVErrorInformation); + v2gBodyType->EVErrorInformation_isUsed = 1u; + grammarID = 2; + break; + case 26: + errn = decode_v2gEVSEErrorInformationType(stream, &v2gBodyType->EVSEErrorInformation); + v2gBodyType->EVSEErrorInformation_isUsed = 1u; + grammarID = 2; + break; + case 27: + errn = decode_v2gBodyBaseType(stream, &v2gBodyType->ErrorInformation); + v2gBodyType->ErrorInformation_isUsed = 1u; + grammarID = 2; + break; + case 28: + errn = decode_v2gFinePositioningReqType(stream, &v2gBodyType->FinePositioningReq); + v2gBodyType->FinePositioningReq_isUsed = 1u; + grammarID = 2; + break; + case 29: + errn = decode_v2gFinePositioningResType(stream, &v2gBodyType->FinePositioningRes); + v2gBodyType->FinePositioningRes_isUsed = 1u; + grammarID = 2; + break; + case 30: + errn = decode_v2gFinePositioningSetupReqType(stream, &v2gBodyType->FinePositioningSetupReq); + v2gBodyType->FinePositioningSetupReq_isUsed = 1u; + grammarID = 2; + break; + case 31: + errn = decode_v2gFinePositioningSetupResType(stream, &v2gBodyType->FinePositioningSetupRes); + v2gBodyType->FinePositioningSetupRes_isUsed = 1u; + grammarID = 2; + break; + case 32: + errn = decode_v2gMeteringReceiptReqType(stream, &v2gBodyType->MeteringReceiptReq); + v2gBodyType->MeteringReceiptReq_isUsed = 1u; + grammarID = 2; + break; + case 33: + errn = decode_v2gV2GResponseType(stream, &v2gBodyType->MeteringReceiptRes); + v2gBodyType->MeteringReceiptRes_isUsed = 1u; + grammarID = 2; + break; + case 34: + errn = decode_v2gPairingReqType(stream, &v2gBodyType->PairingReq); + v2gBodyType->PairingReq_isUsed = 1u; + grammarID = 2; + break; + case 35: + errn = decode_v2gPairingResType(stream, &v2gBodyType->PairingRes); + v2gBodyType->PairingRes_isUsed = 1u; + grammarID = 2; + break; + case 36: + errn = decode_v2gPaymentDetailsReqType(stream, &v2gBodyType->PaymentDetailsReq); + v2gBodyType->PaymentDetailsReq_isUsed = 1u; + grammarID = 2; + break; + case 37: + errn = decode_v2gPaymentDetailsResType(stream, &v2gBodyType->PaymentDetailsRes); + v2gBodyType->PaymentDetailsRes_isUsed = 1u; + grammarID = 2; + break; + case 38: + errn = decode_v2gPaymentServiceSelectionReqType(stream, &v2gBodyType->PaymentServiceSelectionReq); + v2gBodyType->PaymentServiceSelectionReq_isUsed = 1u; + grammarID = 2; + break; + case 39: + errn = decode_v2gV2GResponseType(stream, &v2gBodyType->PaymentServiceSelectionRes); + v2gBodyType->PaymentServiceSelectionRes_isUsed = 1u; + grammarID = 2; + break; + case 40: + errn = decode_v2gPowerDeliveryReqType(stream, &v2gBodyType->PowerDeliveryReq); + v2gBodyType->PowerDeliveryReq_isUsed = 1u; + grammarID = 2; + break; + case 41: + errn = decode_v2gPowerDeliveryResType(stream, &v2gBodyType->PowerDeliveryRes); + v2gBodyType->PowerDeliveryRes_isUsed = 1u; + grammarID = 2; + break; + case 42: + errn = decode_v2gPowerDemandReqType(stream, &v2gBodyType->PowerDemandReq); + v2gBodyType->PowerDemandReq_isUsed = 1u; + grammarID = 2; + break; + case 43: + errn = decode_v2gPowerDemandResType(stream, &v2gBodyType->PowerDemandRes); + v2gBodyType->PowerDemandRes_isUsed = 1u; + grammarID = 2; + break; + case 44: + errn = decode_v2gPreChargeReqType(stream, &v2gBodyType->PreChargeReq); + v2gBodyType->PreChargeReq_isUsed = 1u; + grammarID = 2; + break; + case 45: + errn = decode_v2gPreChargeResType(stream, &v2gBodyType->PreChargeRes); + v2gBodyType->PreChargeRes_isUsed = 1u; + grammarID = 2; + break; + case 46: + errn = decode_v2gServiceDetailReqType(stream, &v2gBodyType->ServiceDetailReq); + v2gBodyType->ServiceDetailReq_isUsed = 1u; + grammarID = 2; + break; + case 47: + errn = decode_v2gServiceDetailResType(stream, &v2gBodyType->ServiceDetailRes); + v2gBodyType->ServiceDetailRes_isUsed = 1u; + grammarID = 2; + break; + case 48: + errn = decode_v2gServiceDiscoveryReqType(stream, &v2gBodyType->ServiceDiscoveryReq); + v2gBodyType->ServiceDiscoveryReq_isUsed = 1u; + grammarID = 2; + break; + case 49: + errn = decode_v2gServiceDiscoveryResType(stream, &v2gBodyType->ServiceDiscoveryRes); + v2gBodyType->ServiceDiscoveryRes_isUsed = 1u; + grammarID = 2; + break; + case 50: + errn = decode_v2gSessionSetupReqType(stream, &v2gBodyType->SessionSetupReq); + v2gBodyType->SessionSetupReq_isUsed = 1u; + grammarID = 2; + break; + case 51: + errn = decode_v2gSessionSetupResType(stream, &v2gBodyType->SessionSetupRes); + v2gBodyType->SessionSetupRes_isUsed = 1u; + grammarID = 2; + break; + case 52: + errn = decode_v2gSessionStopReqType(stream, &v2gBodyType->SessionStopReq); + v2gBodyType->SessionStopReq_isUsed = 1u; + grammarID = 2; + break; + case 53: + errn = decode_v2gV2GResponseType(stream, &v2gBodyType->SessionStopRes); + v2gBodyType->SessionStopRes_isUsed = 1u; + grammarID = 2; + break; + case 54: + errn = decode_v2gSystemStatusReqType(stream, &v2gBodyType->SystemStatusReq); + v2gBodyType->SystemStatusReq_isUsed = 1u; + grammarID = 2; + break; + case 55: + errn = decode_v2gSystemStatusResType(stream, &v2gBodyType->SystemStatusRes); + v2gBodyType->SystemStatusRes_isUsed = 1u; + grammarID = 2; + break; + case 56: + errn = decode_v2gBodyBaseType(stream, &v2gBodyType->V2GRequest); + v2gBodyType->V2GRequest_isUsed = 1u; + grammarID = 2; + break; + case 57: + errn = decode_v2gV2GResponseType(stream, &v2gBodyType->V2GResponse); + v2gBodyType->V2GResponse_isUsed = 1u; + grammarID = 2; + break; + case 58: + errn = decode_v2gVehicleCheckInReqType(stream, &v2gBodyType->VehicleCheckInReq); + v2gBodyType->VehicleCheckInReq_isUsed = 1u; + grammarID = 2; + break; + case 59: + errn = decode_v2gVehicleCheckInResType(stream, &v2gBodyType->VehicleCheckInRes); + v2gBodyType->VehicleCheckInRes_isUsed = 1u; + grammarID = 2; + break; + case 60: + errn = decode_v2gVehicleCheckOutReqType(stream, &v2gBodyType->VehicleCheckOutReq); + v2gBodyType->VehicleCheckOutReq_isUsed = 1u; + grammarID = 2; + break; + case 61: + errn = decode_v2gVehicleCheckOutResType(stream, &v2gBodyType->VehicleCheckOutRes); + v2gBodyType->VehicleCheckOutRes_isUsed = 1u; + grammarID = 2; + break; + case 62: + errn = decode_v2gBodyBaseType(stream, &v2gBodyType->WeldingDetectionReq); + v2gBodyType->WeldingDetectionReq_isUsed = 1u; + grammarID = 2; + break; + case 63: + errn = decode_v2gWeldingDetectionResType(stream, &v2gBodyType->WeldingDetectionRes); + v2gBodyType->WeldingDetectionRes_isUsed = 1u; + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gFinePositioningReqType(bitstream_t* stream, struct v2gFinePositioningReqType* v2gFinePositioningReqType) { + int grammarID = 45; + int done = 0; + + init_v2gFinePositioningReqType(v2gFinePositioningReqType); + + while(!done) { + switch(grammarID) { + case 45: + /* 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); + v2gFinePositioningReqType->EVProcessing = (v2gEVSEProcessingType) 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 = 46; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 46: + /* 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_v2gEVFinePositioningParametersType(stream, &v2gFinePositioningReqType->EVFinePositioningParameters); + v2gFinePositioningReqType->EVFinePositioningParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + errn = decode_v2gGeneric_EVFinePositioningParametersType(stream, &v2gFinePositioningReqType->Generic_EVFinePositioningParameters); + v2gFinePositioningReqType->Generic_EVFinePositioningParameters_isUsed = 1u; + grammarID = 2; + break; + case 2: + errn = decode_v2gLFA_EVFinePositioningParametersType(stream, &v2gFinePositioningReqType->LFA_EVFinePositioningParameters); + v2gFinePositioningReqType->LFA_EVFinePositioningParameters_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPMaxScheduleEntryType(bitstream_t* stream, struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType) { + int grammarID = 47; + int done = 0; + + init_v2gPMaxScheduleEntryType(v2gPMaxScheduleEntryType); + + while(!done) { + switch(grammarID) { + case 47: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gRelativeTimeIntervalType(stream, &v2gPMaxScheduleEntryType->RelativeTimeInterval); + grammarID = 48; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 48: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gPMaxScheduleEntryType->PMax.arrayLen < v2gPMaxScheduleEntryType_PMax_ARRAY_SIZE) { + errn = decode_v2gPhysicalValueType(stream, &v2gPMaxScheduleEntryType->PMax.array[v2gPMaxScheduleEntryType->PMax.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 49; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 49: + /* 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 (v2gPMaxScheduleEntryType->PMax.arrayLen < v2gPMaxScheduleEntryType_PMax_ARRAY_SIZE) { + errn = decode_v2gPhysicalValueType(stream, &v2gPMaxScheduleEntryType->PMax.array[v2gPMaxScheduleEntryType->PMax.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 50; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 50: + /* 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 (v2gPMaxScheduleEntryType->PMax.arrayLen < v2gPMaxScheduleEntryType_PMax_ARRAY_SIZE) { + errn = decode_v2gPhysicalValueType(stream, &v2gPMaxScheduleEntryType->PMax.array[v2gPMaxScheduleEntryType->PMax.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPreChargeReqType(bitstream_t* stream, struct v2gPreChargeReqType* v2gPreChargeReqType) { + int grammarID = 51; + int done = 0; + + init_v2gPreChargeReqType(v2gPreChargeReqType); + + while(!done) { + switch(grammarID) { + case 51: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gPreChargeReqType->EVTargetVoltage); + grammarID = 52; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 52: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gPreChargeReqType->EVTargetCurrent); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gVehicleCheckInResType(bitstream_t* stream, struct v2gVehicleCheckInResType* v2gVehicleCheckInResType) { + int grammarID = 53; + int done = 0; + + init_v2gVehicleCheckInResType(v2gVehicleCheckInResType); + + while(!done) { + switch(grammarID) { + case 53: + /* 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); + v2gVehicleCheckInResType->ResponseCode = (v2gresponseCodeType) 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 = 54; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 54: + /* 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_v2gEVSEStatusType(stream, &v2gVehicleCheckInResType->EVSEStatus); + v2gVehicleCheckInResType->EVSEStatus_isUsed = 1u; + grammarID = 55; + break; + case 1: + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gVehicleCheckInResType->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 = 56; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 55: + /* 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, &v2gVehicleCheckInResType->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 = 56; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 56: + /* 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_v2gTargetPositionType(stream, &v2gVehicleCheckInResType->TargetOffset); + v2gVehicleCheckInResType->TargetOffset_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gV2GRequestType(bitstream_t* stream, struct v2gV2GRequestType* v2gV2GRequestType) { + int grammarID = 4; + int done = 0; + + init_v2gV2GRequestType(v2gV2GRequestType); + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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,LF_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_v2gLF_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gLF_EVSEFinePositioningParametersType* v2gLF_EVSEFinePositioningParametersType) { + int grammarID = 57; + int done = 0; + + init_v2gLF_EVSEFinePositioningParametersType(v2gLF_EVSEFinePositioningParametersType); + + while(!done) { + switch(grammarID) { + case 57: + /* 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)); + v2gLF_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 = 58; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 58: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gSensorPackageListType(stream, &v2gLF_EVSEFinePositioningParametersType->SensorPackageList); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSignaturePropertiesType(bitstream_t* stream, struct v2gSignaturePropertiesType* v2gSignaturePropertiesType) { + int grammarID = 59; + int done = 0; + + init_v2gSignaturePropertiesType(v2gSignaturePropertiesType); + + while(!done) { + switch(grammarID) { + case 59: + /* 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, &v2gSignaturePropertiesType->Id.charactersLen); + if (errn == 0) { + if (v2gSignaturePropertiesType->Id.charactersLen >= 2) { + v2gSignaturePropertiesType->Id.charactersLen = (uint16_t)(v2gSignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignaturePropertiesType->Id.charactersLen, v2gSignaturePropertiesType->Id.characters, v2gSignaturePropertiesType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignaturePropertiesType->Id_isUsed = 1u; + grammarID = 60; + break; + case 1: + if (v2gSignaturePropertiesType->SignatureProperty.arrayLen < v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { + errn = decode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array[v2gSignaturePropertiesType->SignatureProperty.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 61; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 60: + /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gSignaturePropertiesType->SignatureProperty.arrayLen < v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { + errn = decode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array[v2gSignaturePropertiesType->SignatureProperty.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 61; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 61: + /* 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 (v2gSignaturePropertiesType->SignatureProperty.arrayLen < v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { + errn = decode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array[v2gSignaturePropertiesType->SignatureProperty.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 61; + break; + case 1: + done = 1; + grammarID = 3; + 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_v2gMagneticVectorSetupListType(bitstream_t* stream, struct v2gMagneticVectorSetupListType* v2gMagneticVectorSetupListType) { + int grammarID = 62; + int done = 0; + + init_v2gMagneticVectorSetupListType(v2gMagneticVectorSetupListType); + + while(!done) { + switch(grammarID) { + case 62: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.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}MagneticVectorSetup), END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 64; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 64: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 65; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 65: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 66; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 66: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 67; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 67: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 68; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 68: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 69; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 69: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 70; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 70: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 71; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 71: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 72; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 72: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 73; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 73: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 74; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 74: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 75; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 75: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 76; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 76: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 77; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 77: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 78; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 78: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 79; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 79: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 80; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 80: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 81; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 81: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 82; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 82: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 83; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 83: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 84; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 84: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 85; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 85: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 86; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 86: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 87; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 87: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 88; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 88: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 89; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 89: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 90; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 90: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 91; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 91: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 92; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 92: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 93; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 93: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 94; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 94: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 95; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 95: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 96; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 96: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 97; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 97: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 98; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 98: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 99; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 99: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 100; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 100: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 101; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 101: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 102; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 102: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 103; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 103: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 104; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 104: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 105; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 105: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 106; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 106: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 107; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 107: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 108; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 108: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 109; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 109: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 110; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 110: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 111; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 111: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 112; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 112: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 113; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 113: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 114; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 114: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 115; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 115: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 116; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 116: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 117; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 117: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 118; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 118: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 119; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 119: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 120; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 120: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 121; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 121: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 122; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 122: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 123; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 123: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 124; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 124: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 125; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 125: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 126; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 126: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 127; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 127: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 128; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 128: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 129; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 129: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 130; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 130: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 131; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 131: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 132; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 132: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 133; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 133: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 134; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 134: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 135; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 135: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 136; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 136: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 137; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 137: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 138; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 138: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 139; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 139: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 140; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 140: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 141; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 141: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 142; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 142: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 143; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 143: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 144; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 144: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 145; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 145: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 146; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 146: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 147; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 147: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 148; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 148: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 149; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 149: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 150; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 150: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 151; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 151: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 152; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 152: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 153; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 153: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 154; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 154: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 155; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 155: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 156; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 156: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 157; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 157: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 158; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 158: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 159; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 159: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 160; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 160: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 161; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 161: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 162; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 162: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 163; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 163: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 164; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 164: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 165; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 165: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 166; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 166: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 167; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 167: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 168; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 168: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 169; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 169: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 170; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 170: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 171; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 171: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 172; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 172: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 173; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 173: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 174; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 174: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 175; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 175: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 176; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 176: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 177; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 177: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 178; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 178: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 179; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 179: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 180; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 180: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 181; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 181: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 182; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 182: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 183; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 183: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 184; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 184: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 185; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 185: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 186; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 186: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 187; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 187: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 188; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 188: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 189; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 189: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 190; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 190: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 191; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 191: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 192; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 192: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 193; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 193: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 194; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 194: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 195; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 195: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 196; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 196: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 197; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 197: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 198; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 198: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 199; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 199: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 200; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 200: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 201; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 201: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 202; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 202: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 203; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 203: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 204; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 204: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 205; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 205: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 206; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 206: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 207; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 207: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 208; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 208: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 209; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 209: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 210; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 210: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 211; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 211: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 212; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 212: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 213; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 213: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 214; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 214: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 215; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 215: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 216; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 216: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 217; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 217: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 218; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 218: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 219; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 219: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 220; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 220: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 221; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 221: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 222; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 222: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 223; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 223: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 224; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 224: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 225; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 225: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 226; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 226: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 227; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 227: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 228; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 228: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 229; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 229: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 230; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 230: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 231; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 231: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 232; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 232: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 233; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 233: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 234; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 234: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 235; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 235: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 236; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 236: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 237; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 237: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 238; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 238: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 239; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 239: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 240; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 240: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 241; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 241: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 242; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 242: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 243; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 243: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 244; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 244: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 245; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 245: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 246; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 246: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 247; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 247: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 248; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 248: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 249; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 249: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 250; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 250: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 251; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 251: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 252; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 252: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 253; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 253: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 254; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 254: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 255; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 255: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 256; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 256: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 257; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 257: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 258; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 258: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 259; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 259: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 260; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 260: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 261; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 261: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 262; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 262: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 263; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 263: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 264; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 264: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 265; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 265: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 266; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 266: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 267; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 267: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 268; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 268: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 269; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 269: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 270; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 270: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 271; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 271: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 272; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 272: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 273; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 273: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 274; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 274: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 275; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 275: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 276; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 276: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 277; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 277: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 278; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 278: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 279; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 279: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 280; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 280: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 281; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 281: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 282; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 282: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 283; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 283: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 284; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 284: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 285; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 285: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 286; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 286: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 287; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 287: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 288; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 288: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 289; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 289: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 290; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 290: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 291; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 291: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 292; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 292: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 293; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 293: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 294; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 294: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 295; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 295: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 296; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 296: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 297; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 297: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 298; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 298: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 299; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 299: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 300; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 300: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 301; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 301: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 302; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 302: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 303; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 303: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 304; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 304: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 305; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 305: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 306; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 306: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 307; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 307: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 308; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 308: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 309; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 309: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 310; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 310: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 311; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 311: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 312; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 312: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 313; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 313: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 314; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 314: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 315; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 315: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 316; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 316: + /* 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 (v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen < v2gMagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array[v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ +static int decode_v2gSensorMeasurementsType(bitstream_t* stream, struct v2gSensorMeasurementsType* v2gSensorMeasurementsType) { + int grammarID = 317; + int done = 0; + + init_v2gSensorMeasurementsType(v2gSensorMeasurementsType); + + while(!done) { + switch(grammarID) { + case 317: + /* 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)); + v2gSensorMeasurementsType->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 = 318; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 318: + /* 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)); + v2gSensorMeasurementsType->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 = 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}MeasurementData)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 320; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 320: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 321; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 321: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 322; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 322: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 323; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 323: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 324; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 324: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 325; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 325: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 326; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 326: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 327; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 327: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 328; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 328: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 329; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 329: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 330; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 330: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 331; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 331: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 332; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 332: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 333; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 333: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 334; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 334: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 335; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 335: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 336; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 336: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 337; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 337: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 338; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 338: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 339; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 339: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 340; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 340: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 341; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 341: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 342; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 342: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 343; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 343: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 344; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 344: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 345; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 345: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 346; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 346: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 347; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 347: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 348; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 348: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 349; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 349: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 350; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 350: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 351; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 351: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 352; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 352: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 353; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 353: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 354; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 354: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 355; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 355: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 356; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 356: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 357; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 357: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 358; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 358: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 359; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 359: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 360; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 360: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 361; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 361: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 362; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 362: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 363; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 363: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 364; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 364: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 365; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 365: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 366; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 366: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 367; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 367: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 368; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 368: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 369; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 369: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 370; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 370: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 371; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 371: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 372; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 372: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 373; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 373: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 374; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 374: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 375; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 375: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 376; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 376: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 377; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 377: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 378; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 378: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 379; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 379: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 380; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 380: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 381; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 381: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 382; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 382: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 383; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 383: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 384; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 384: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 385; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 385: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 386; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 386: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 387; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 387: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 388; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 388: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 389; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 389: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 390; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 390: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 391; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 391: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 392; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 392: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 393; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 393: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 394; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 394: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 395; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 395: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 396; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 396: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 397; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 397: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 398; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 398: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 399; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 399: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 400; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 400: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 401; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 401: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 402; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 402: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 403; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 403: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 404; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 404: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 405; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 405: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 406; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 406: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 407; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 407: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 408; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 408: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 409; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 409: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 410; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 410: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 411; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 411: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 412; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 412: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 413; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 413: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 414; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 414: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 415; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 415: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 416; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 416: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 417; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 417: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 418; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 418: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 419; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 419: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 420; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 420: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 421; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 421: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 422; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 422: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 423; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 423: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 424; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 424: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 425; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 425: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 426; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 426: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 427; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 427: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 428; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 428: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 429; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 429: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 430; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 430: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 431; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 431: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 432; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 432: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 433; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 433: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 434; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 434: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 435; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 435: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 436; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 436: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 437; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 437: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 438; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 438: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 439; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 439: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 440; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 440: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 441; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 441: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 442; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 442: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 443; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 443: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 444; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 444: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 445; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 445: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 446; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 446: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 447; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 447: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 448; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 448: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 449; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 449: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 450; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 450: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 451; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 451: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 452; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 452: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 453; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 453: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 454; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 454: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 455; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 455: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 456; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 456: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 457; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 457: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 458; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 458: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 459; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 459: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 460; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 460: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 461; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 461: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 462; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 462: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 463; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 463: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 464; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 464: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 465; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 465: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 466; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 466: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 467; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 467: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 468; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 468: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 469; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 469: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 470; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 470: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 471; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 471: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 472; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 472: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 473; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 473: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 474; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 474: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 475; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 475: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 476; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 476: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 477; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 477: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 478; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 478: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 479; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 479: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 480; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 480: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 481; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 481: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 482; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 482: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 483; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 483: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 484; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 484: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 485; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 485: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 486; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 486: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 487; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 487: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 488; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 488: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 489; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 489: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 490; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 490: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 491; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 491: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 492; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 492: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 493; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 493: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 494; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 494: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 495; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 495: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 496; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 496: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 497; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 497: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 498; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 498: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 499; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 499: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 500; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 500: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 501; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 501: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 502; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 502: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 503; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 503: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 504; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 504: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 505; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 505: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 506; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 506: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 507; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 507: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 508; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 508: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 509; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 509: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 510; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 510: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 511; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 511: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 512; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 512: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 513; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 513: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 514; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 514: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 515; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 515: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 516; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 516: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 517; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 517: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 518; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 518: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 519; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 519: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 520; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 520: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 521; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 521: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 522; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 522: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 523; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 523: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 524; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 524: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 525; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 525: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 526; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 526: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 527; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 527: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 528; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 528: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 529; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 529: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 530; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 530: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 531; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 531: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 532; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 532: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 533; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 533: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 534; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 534: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 535; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 535: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 536; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 536: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 537; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 537: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 538; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 538: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 539; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 539: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 540; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 540: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 541; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 541: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 542; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 542: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 543; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 543: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 544; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 544: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 545; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 545: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 546; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 546: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 547; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 547: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 548; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 548: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 549; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 549: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 550; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 550: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 551; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 551: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 552; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 552: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 553; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 553: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 554; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 554: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 555; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 555: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 556; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 556: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 557; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 557: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 558; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 558: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 559; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 559: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 560; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 560: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 561; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 561: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 562; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 562: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 563; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 563: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 564; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 564: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 565; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 565: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 566; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 566: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 567; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 567: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 568; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 568: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 569; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 569: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 570; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 570: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 571; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 571: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 572; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 572: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 573; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 573: + /* 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 (v2gSensorMeasurementsType->MeasurementData.arrayLen < v2gSensorMeasurementsType_MeasurementData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType->MeasurementData.arrayLen]); + v2gSensorMeasurementsType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gAC_EVSEBidirectionalParameterType(bitstream_t* stream, struct v2gAC_EVSEBidirectionalParameterType* v2gAC_EVSEBidirectionalParameterType) { + int grammarID = 574; + int done = 0; + + init_v2gAC_EVSEBidirectionalParameterType(v2gAC_EVSEBidirectionalParameterType); + + while(!done) { + switch(grammarID) { + case 574: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent); + grammarID = 575; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 575: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSENominalVoltage); + grammarID = 576; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 576: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSENominalFrequency); + grammarID = 577; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 577: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent); + grammarID = 578; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 578: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSENominalFrequency); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gConsumptionCostType(bitstream_t* stream, struct v2gConsumptionCostType* v2gConsumptionCostType) { + int grammarID = 579; + int done = 0; + + init_v2gConsumptionCostType(v2gConsumptionCostType); + + while(!done) { + switch(grammarID) { + case 579: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gConsumptionCostType->startValue); + grammarID = 580; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 580: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gConsumptionCostType->Cost.arrayLen < v2gConsumptionCostType_Cost_ARRAY_SIZE) { + errn = decode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array[v2gConsumptionCostType->Cost.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 581; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 581: + /* 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 (v2gConsumptionCostType->Cost.arrayLen < v2gConsumptionCostType_Cost_ARRAY_SIZE) { + errn = decode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array[v2gConsumptionCostType->Cost.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 582; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 582: + /* 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 (v2gConsumptionCostType->Cost.arrayLen < v2gConsumptionCostType_Cost_ARRAY_SIZE) { + errn = decode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array[v2gConsumptionCostType->Cost.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gAuthorizationResType(bitstream_t* stream, struct v2gAuthorizationResType* v2gAuthorizationResType) { + int grammarID = 583; + int done = 0; + + init_v2gAuthorizationResType(v2gAuthorizationResType); + + while(!done) { + switch(grammarID) { + case 583: + /* 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); + v2gAuthorizationResType->ResponseCode = (v2gresponseCodeType) 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 = 584; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 584: + /* 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_v2gEVSEStatusType(stream, &v2gAuthorizationResType->EVSEStatus); + v2gAuthorizationResType->EVSEStatus_isUsed = 1u; + grammarID = 585; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gAuthorizationResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 585: + /* 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); + v2gAuthorizationResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gGeneric_EVFinePositioningParametersType(bitstream_t* stream, struct v2gGeneric_EVFinePositioningParametersType* v2gGeneric_EVFinePositioningParametersType) { + int grammarID = 586; + int done = 0; + + init_v2gGeneric_EVFinePositioningParametersType(v2gGeneric_EVFinePositioningParametersType); + + while(!done) { + switch(grammarID) { + case 586: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gParameterSetType(stream, &v2gGeneric_EVFinePositioningParametersType->GenericParameters); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gEVSEStatusType(bitstream_t* stream, struct v2gEVSEStatusType* v2gEVSEStatusType) { + int grammarID = 587; + int done = 0; + + init_v2gEVSEStatusType(v2gEVSEStatusType); + + while(!done) { + switch(grammarID) { + case 587: + /* 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, &v2gEVSEStatusType->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 = 588; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 588: + /* 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); + v2gEVSEStatusType->EVSENotification = (v2gEVSENotificationType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gX509IssuerSerialType(bitstream_t* stream, struct v2gX509IssuerSerialType* v2gX509IssuerSerialType) { + int grammarID = 589; + int done = 0; + + init_v2gX509IssuerSerialType(v2gX509IssuerSerialType); + + while(!done) { + switch(grammarID) { + case 589: + /* 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, &v2gX509IssuerSerialType->X509IssuerName.charactersLen); + if (errn == 0) { + if (v2gX509IssuerSerialType->X509IssuerName.charactersLen >= 2) { + v2gX509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(v2gX509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gX509IssuerSerialType->X509IssuerName.charactersLen, v2gX509IssuerSerialType->X509IssuerName.characters, v2gX509IssuerSerialType_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 = 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({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, &v2gX509IssuerSerialType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gAC_EVBidirectionalParameterType(bitstream_t* stream, struct v2gAC_EVBidirectionalParameterType* v2gAC_EVBidirectionalParameterType) { + int grammarID = 591; + int done = 0; + + init_v2gAC_EVBidirectionalParameterType(v2gAC_EVBidirectionalParameterType); + + while(!done) { + switch(grammarID) { + case 591: + /* 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, &v2gAC_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 = 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:MsgDataTypes}EVMaximumChargePower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumChargePower); + grammarID = 593; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 593: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumChargeCurrent); + grammarID = 594; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 594: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumChargeCurrent); + grammarID = 595; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 595: + /* 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_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVTargetEnergyRequest); + v2gAC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 1u; + grammarID = 596; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest); + v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 597; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest); + v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 598; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumVoltage); + grammarID = 599; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 596: + /* 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_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest); + v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 597; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest); + v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 598; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumVoltage); + grammarID = 599; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 597: + /* 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_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest); + v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 598; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumVoltage); + grammarID = 599; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 598: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumVoltage); + grammarID = 599; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 599: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumDischargePower); + grammarID = 600; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 600: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 601; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 601: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumDischargeCurrent); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gEVFinePositioningSetupParametersType(bitstream_t* stream, struct v2gEVFinePositioningSetupParametersType* v2gEVFinePositioningSetupParametersType) { + int grammarID = 4; + int done = 0; + + init_v2gEVFinePositioningSetupParametersType(v2gEVFinePositioningSetupParametersType); + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gMV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gMV_EVSEFinePositioningSetupParametersType* v2gMV_EVSEFinePositioningSetupParametersType) { + int grammarID = 602; + int done = 0; + + init_v2gMV_EVSEFinePositioningSetupParametersType(v2gMV_EVSEFinePositioningSetupParametersType); + + while(!done) { + switch(grammarID) { + case 602: + /* 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, &v2gMV_EVSEFinePositioningSetupParametersType->FrequencyChannel); + v2gMV_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 = 603; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + errn = decode_v2gMagneticVectorSetupListType(stream, &v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList); + v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 1u; + grammarID = 2; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 603: + /* 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_v2gMagneticVectorSetupListType(stream, &v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList); + v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gMeteringReceiptReqType(bitstream_t* stream, struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType) { + int grammarID = 604; + int done = 0; + + init_v2gMeteringReceiptReqType(v2gMeteringReceiptReqType); + + while(!done) { + switch(grammarID) { + case 604: + /* 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, &v2gMeteringReceiptReqType->Id.charactersLen); + if (errn == 0) { + if (v2gMeteringReceiptReqType->Id.charactersLen >= 2) { + v2gMeteringReceiptReqType->Id.charactersLen = (uint16_t)(v2gMeteringReceiptReqType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gMeteringReceiptReqType->Id.charactersLen, v2gMeteringReceiptReqType->Id.characters, v2gMeteringReceiptReqType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 605; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 605: + /* 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, &v2gMeteringReceiptReqType->SessionID.bytesLen); + if (errn == 0) { + errn = (v2gMeteringReceiptReqType->SessionID.bytesLen) <= v2gMeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gMeteringReceiptReqType->SessionID.bytesLen, v2gMeteringReceiptReqType->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 = 606; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 606: + /* 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)); + v2gMeteringReceiptReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); + v2gMeteringReceiptReqType->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 = 607; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + errn = decode_v2gMeterInfoType(stream, &v2gMeteringReceiptReqType->MeterInfo); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 607: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gMeterInfoType(stream, &v2gMeteringReceiptReqType->MeterInfo); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gAuthorizationReqType(bitstream_t* stream, struct v2gAuthorizationReqType* v2gAuthorizationReqType) { + int grammarID = 608; + int done = 0; + + init_v2gAuthorizationReqType(v2gAuthorizationReqType); + + while(!done) { + switch(grammarID) { + case 608: + /* 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, &v2gAuthorizationReqType->Id.charactersLen); + if (errn == 0) { + if (v2gAuthorizationReqType->Id.charactersLen >= 2) { + v2gAuthorizationReqType->Id.charactersLen = (uint16_t)(v2gAuthorizationReqType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gAuthorizationReqType->Id.charactersLen, v2gAuthorizationReqType->Id.characters, v2gAuthorizationReqType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gAuthorizationReqType->Id_isUsed = 1u; + grammarID = 609; + break; + case 1: + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gAuthorizationReqType->GenChallenge.bytesLen); + if (errn == 0) { + errn = (v2gAuthorizationReqType->GenChallenge.bytesLen) <= v2gAuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gAuthorizationReqType->GenChallenge.bytesLen, v2gAuthorizationReqType->GenChallenge.bytes); + } + v2gAuthorizationReqType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 609: + /* 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, &v2gAuthorizationReqType->GenChallenge.bytesLen); + if (errn == 0) { + errn = (v2gAuthorizationReqType->GenChallenge.bytesLen) <= v2gAuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gAuthorizationReqType->GenChallenge.bytesLen, v2gAuthorizationReqType->GenChallenge.bytes); + } + v2gAuthorizationReqType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gChargingStatusReqType(bitstream_t* stream, struct v2gChargingStatusReqType* v2gChargingStatusReqType) { + int grammarID = 610; + int done = 0; + + init_v2gChargingStatusReqType(v2gChargingStatusReqType); + + while(!done) { + switch(grammarID) { + case 610: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVTargetEnergyRequest); + grammarID = 611; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 611: + /* 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_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumEnergyRequest); + v2gChargingStatusReqType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 612; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumEnergyRequest); + v2gChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 613; + break; + case 2: + errn = decode_v2gDisplayParametersType(stream, &v2gChargingStatusReqType->DisplayParameters); + v2gChargingStatusReqType->DisplayParameters_isUsed = 1u; + grammarID = 614; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargePower); + v2gChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; + grammarID = 615; + break; + case 4: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent); + v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; + grammarID = 616; + break; + case 5: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent); + v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; + grammarID = 2; + break; + case 6: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 612: + /* 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_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumEnergyRequest); + v2gChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 613; + break; + case 1: + errn = decode_v2gDisplayParametersType(stream, &v2gChargingStatusReqType->DisplayParameters); + v2gChargingStatusReqType->DisplayParameters_isUsed = 1u; + grammarID = 614; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargePower); + v2gChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; + grammarID = 615; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent); + v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; + grammarID = 616; + break; + case 4: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent); + v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; + grammarID = 2; + break; + case 5: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 613: + /* 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_v2gDisplayParametersType(stream, &v2gChargingStatusReqType->DisplayParameters); + v2gChargingStatusReqType->DisplayParameters_isUsed = 1u; + grammarID = 614; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargePower); + v2gChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; + grammarID = 615; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent); + v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; + grammarID = 616; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent); + v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; + grammarID = 2; + break; + case 4: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 614: + /* 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_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargePower); + v2gChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; + grammarID = 615; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent); + v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; + grammarID = 616; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent); + v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 615: + /* 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_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent); + v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; + grammarID = 616; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent); + v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; + grammarID = 2; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 616: + /* 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_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent); + v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gManifestType(bitstream_t* stream, struct v2gManifestType* v2gManifestType) { + int grammarID = 617; + int done = 0; + + init_v2gManifestType(v2gManifestType); + + while(!done) { + switch(grammarID) { + case 617: + /* 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, &v2gManifestType->Id.charactersLen); + if (errn == 0) { + if (v2gManifestType->Id.charactersLen >= 2) { + v2gManifestType->Id.charactersLen = (uint16_t)(v2gManifestType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gManifestType->Id.charactersLen, v2gManifestType->Id.characters, v2gManifestType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gManifestType->Id_isUsed = 1u; + grammarID = 618; + break; + case 1: + if (v2gManifestType->Reference.arrayLen < v2gManifestType_Reference_ARRAY_SIZE) { + errn = decode_v2gReferenceType(stream, &v2gManifestType->Reference.array[v2gManifestType->Reference.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 619; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 618: + /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gManifestType->Reference.arrayLen < v2gManifestType_Reference_ARRAY_SIZE) { + errn = decode_v2gReferenceType(stream, &v2gManifestType->Reference.array[v2gManifestType->Reference.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 619; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 619: + /* 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 (v2gManifestType->Reference.arrayLen < v2gManifestType_Reference_ARRAY_SIZE) { + errn = decode_v2gReferenceType(stream, &v2gManifestType->Reference.array[v2gManifestType->Reference.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 619; + break; + case 1: + done = 1; + grammarID = 3; + 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_v2gSensorType(bitstream_t* stream, struct v2gSensorType* v2gSensorType) { + int grammarID = 620; + int done = 0; + + init_v2gSensorType(v2gSensorType); + + while(!done) { + switch(grammarID) { + case 620: + /* 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)); + v2gSensorType->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 = 621; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 621: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gCartesianCoordinatesType(stream, &v2gSensorType->SensorPosition); + grammarID = 622; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 622: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gCartesianCoordinatesType(stream, &v2gSensorType->SensorOrientation); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType) { + int grammarID = 623; + int done = 0; + + init_v2gAC_EVChargeParameterType(v2gAC_EVChargeParameterType); + + while(!done) { + switch(grammarID) { + case 623: + /* 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, &v2gAC_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 = 624; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 624: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumChargePower); + grammarID = 625; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 625: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumChargeCurrent); + grammarID = 626; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 626: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinimumChargeCurrent); + grammarID = 627; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 627: + /* 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_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVTargetEnergyRequest); + v2gAC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; + grammarID = 628; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumEnergyRequest); + v2gAC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 629; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinimumEnergyRequest); + v2gAC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 630; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumVoltage); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 628: + /* 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_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumEnergyRequest); + v2gAC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 629; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinimumEnergyRequest); + v2gAC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 630; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumVoltage); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 629: + /* 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_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinimumEnergyRequest); + v2gAC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 630; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumVoltage); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 630: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumVoltage); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gMagneticVectorListType(bitstream_t* stream, struct v2gMagneticVectorListType* v2gMagneticVectorListType) { + int grammarID = 631; + int done = 0; + + init_v2gMagneticVectorListType(v2gMagneticVectorListType); + + while(!done) { + switch(grammarID) { + case 631: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 632; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 632: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 633; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 633: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 634; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 634: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 635; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 635: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 636; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 636: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 637; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 637: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 638; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 638: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 639; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 639: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 640; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 640: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 641; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 641: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 642; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 642: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 643; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 643: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 644; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 644: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 645; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 645: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 646; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 646: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 647; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 647: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 648; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 648: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 649; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 649: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 650; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 650: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 651; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 651: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 652; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 652: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 653; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 653: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 654; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 654: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 655; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 655: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 656; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 656: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 657; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 657: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 658; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 658: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 659; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 659: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 660; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 660: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 661; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 661: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 662; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 662: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 663; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 663: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 664; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 664: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 665; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 665: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 666; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 666: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 667; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 667: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 668; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 668: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 669; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 669: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 670; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 670: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 671; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 671: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 672; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 672: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 673; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 673: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 674; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 674: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 675; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 675: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 676; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 676: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 677; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 677: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 678; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 678: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 679; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 679: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 680; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 680: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 681; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 681: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 682; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 682: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 683; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 683: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 684; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 684: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 685; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 685: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 686; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 686: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 687; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 687: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 688; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 688: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 689; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 689: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 690; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 690: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 691; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 691: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 692; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 692: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 693; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 693: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 694; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 694: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 695; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 695: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 696; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 696: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 697; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 697: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 698; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 698: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 699; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 699: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 700; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 700: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 701; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 701: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 702; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 702: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 703; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 703: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 704; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 704: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 705; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 705: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 706; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 706: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 707; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 707: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 708; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 708: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 709; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 709: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 710; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 710: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 711; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 711: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 712; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 712: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 713; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 713: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 714; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 714: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 715; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 715: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 716; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 716: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 717; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 717: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 718; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 718: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 719; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 719: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 720; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 720: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 721; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 721: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 722; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 722: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 723; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 723: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 724; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 724: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 725; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 725: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 726; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 726: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 727; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 727: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 728; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 728: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 729; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 729: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 730; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 730: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 731; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 731: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 732; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 732: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 733; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 733: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 734; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 734: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 735; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 735: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 736; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 736: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 737; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 737: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 738; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 738: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 739; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 739: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 740; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 740: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 741; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 741: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 742; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 742: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 743; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 743: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 744; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 744: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 745; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 745: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 746; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 746: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 747; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 747: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 748; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 748: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 749; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 749: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 750; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 750: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 751; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 751: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 752; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 752: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 753; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 753: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 754; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 754: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 755; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 755: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 756; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 756: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 757; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 757: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 758; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 758: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 759; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 759: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 760; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 760: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 761; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 761: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 762; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 762: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 763; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 763: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 764; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 764: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 765; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 765: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 766; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 766: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 767; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 767: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 768; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 768: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 769; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 769: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 770; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 770: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 771; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 771: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 772; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 772: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 773; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 773: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 774; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 774: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 775; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 775: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 776; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 776: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 777; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 777: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 778; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 778: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 779; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 779: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 780; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 780: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 781; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 781: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 782; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 782: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 783; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 783: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 784; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 784: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 785; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 785: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 786; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 786: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 787; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 787: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 788; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 788: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 789; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 789: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 790; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 790: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 791; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 791: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 792; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 792: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 793; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 793: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 794; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 794: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 795; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 795: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 796; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 796: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 797; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 797: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 798; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 798: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 799; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 799: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 800; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 800: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 801; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 801: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 802; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 802: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 803; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 803: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 804; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 804: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 805; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 805: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 806; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 806: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 807; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 807: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 808; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 808: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 809; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 809: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 810; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 810: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 811; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 811: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 812; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 812: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 813; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 813: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 814; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 814: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 815; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 815: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 816; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 816: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 817; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 817: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 818; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 818: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 819; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 819: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 820; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 820: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 821; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 821: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 822; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 822: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 823; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 823: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 824; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 824: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 825; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 825: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 826; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 826: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 827; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 827: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 828; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 828: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 829; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 829: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 830; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 830: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 831; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 831: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 832; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 832: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 833; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 833: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 834; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 834: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 835; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 835: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 836; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 836: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 837; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 837: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 838; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 838: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 839; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 839: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 840; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 840: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 841; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 841: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 842; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 842: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 843; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 843: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 844; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 844: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 845; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 845: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 846; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 846: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 847; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 847: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 848; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 848: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 849; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 849: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 850; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 850: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 851; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 851: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 852; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 852: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 853; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 853: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 854; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 854: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 855; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 855: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 856; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 856: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 857; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 857: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 858; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 858: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 859; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 859: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 860; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 860: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 861; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 861: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 862; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 862: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 863; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 863: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 864; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 864: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 865; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 865: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 866; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 866: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 867; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 867: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 868; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 868: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 869; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 869: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 870; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 870: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 871; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 871: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 872; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 872: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 873; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 873: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 874; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 874: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 875; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 875: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 876; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 876: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 877; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 877: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 878; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 878: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 879; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 879: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 880; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 880: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 881; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 881: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 882; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 882: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 883; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 883: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 884; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 884: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 885; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 885: + /* 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 (v2gMagneticVectorListType->MagneticVector.arrayLen < v2gMagneticVectorListType_MagneticVector_ARRAY_SIZE) { + errn = decode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array[v2gMagneticVectorListType->MagneticVector.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gAlignmentCheckReqType(bitstream_t* stream, struct v2gAlignmentCheckReqType* v2gAlignmentCheckReqType) { + int grammarID = 886; + int done = 0; + + init_v2gAlignmentCheckReqType(v2gAlignmentCheckReqType); + + while(!done) { + switch(grammarID) { + case 886: + /* 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); + v2gAlignmentCheckReqType->EVProcessing = (v2gEVSEProcessingType) 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 = 8; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 8: + /* 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_v2gParameterSetType(stream, &v2gAlignmentCheckReqType->AlignmentCheckParameters); + v2gAlignmentCheckReqType->AlignmentCheckParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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,EVSEErrorInformationType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ErrorCode)', derivedBy='EXTENSION'. */ +static int decode_v2gEVSEErrorInformationType(bitstream_t* stream, struct v2gEVSEErrorInformationType* v2gEVSEErrorInformationType) { + int grammarID = 887; + int done = 0; + + init_v2gEVSEErrorInformationType(v2gEVSEErrorInformationType); + + while(!done) { + switch(grammarID) { + case 887: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorCode)] */ + 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, 3, &uint32); + v2gEVSEErrorInformationType->ErrorCode = (v2gEVSEErrorCodeType) 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}ErrorCode) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gWPT_EVSEChargeParameterType(bitstream_t* stream, struct v2gWPT_EVSEChargeParameterType* v2gWPT_EVSEChargeParameterType) { + int grammarID = 888; + int done = 0; + + init_v2gWPT_EVSEChargeParameterType(v2gWPT_EVSEChargeParameterType); + + while(!done) { + switch(grammarID) { + case 888: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVSEChargeParameterType->EVSEMaximumPower); + grammarID = 889; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 889: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVSEChargeParameterType->EVSEMinimumPower); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gDisplayParametersType(bitstream_t* stream, struct v2gDisplayParametersType* v2gDisplayParametersType) { + int grammarID = 890; + int done = 0; + + init_v2gDisplayParametersType(v2gDisplayParametersType); + + while(!done) { + switch(grammarID) { + case 890: + /* 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, &v2gDisplayParametersType->CurrentRange); + v2gDisplayParametersType->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 = 891; + } 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)); + v2gDisplayParametersType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 892; + } 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)); + v2gDisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 893; + } 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)); + v2gDisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 894; + } 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)); + v2gDisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 895; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 5: + errn = decode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance); + v2gDisplayParametersType->ChargingPerformance_isUsed = 1u; + grammarID = 896; + break; + case 6: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 897; + } 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)); + v2gDisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 898; + } 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)); + v2gDisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 899; + } 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 12: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 891: + /* 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)); + v2gDisplayParametersType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 892; + } 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)); + v2gDisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 893; + } 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)); + v2gDisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 894; + } 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)); + v2gDisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 895; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 4: + errn = decode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance); + v2gDisplayParametersType->ChargingPerformance_isUsed = 1u; + grammarID = 896; + break; + case 5: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 897; + } 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)); + v2gDisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 898; + } 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)); + v2gDisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 899; + } 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 11: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 892: + /* 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)); + v2gDisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 893; + } 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)); + v2gDisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 894; + } 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)); + v2gDisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 895; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance); + v2gDisplayParametersType->ChargingPerformance_isUsed = 1u; + grammarID = 896; + break; + case 4: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 897; + } 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)); + v2gDisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 898; + } 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)); + v2gDisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 899; + } 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 10: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 893: + /* 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)); + v2gDisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 894; + } 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)); + v2gDisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 895; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance); + v2gDisplayParametersType->ChargingPerformance_isUsed = 1u; + grammarID = 896; + break; + case 3: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 897; + } 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)); + v2gDisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 898; + } 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)); + v2gDisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 899; + } 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 9: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 894: + /* 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)); + v2gDisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 895; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance); + v2gDisplayParametersType->ChargingPerformance_isUsed = 1u; + grammarID = 896; + break; + case 2: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 897; + } 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)); + v2gDisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 898; + } 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)); + v2gDisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 899; + } 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 8: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 895: + /* 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_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance); + v2gDisplayParametersType->ChargingPerformance_isUsed = 1u; + grammarID = 896; + break; + case 1: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 897; + } 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)); + v2gDisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 898; + } 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)); + v2gDisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 899; + } 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 7: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 896: + /* 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)); + v2gDisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 897; + } 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)); + v2gDisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 898; + } 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)); + v2gDisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 899; + } 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 6: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 897: + /* 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)); + v2gDisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 898; + } 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)); + v2gDisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 899; + } 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 5: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 898: + /* 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)); + v2gDisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); + v2gDisplayParametersType->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 = 899; + } 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 4: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 899: + /* 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, &v2gDisplayParametersType->ChargingComplete); + v2gDisplayParametersType->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 = 900; + } 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 900: + /* 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, &v2gDisplayParametersType->BulkChargingComplete); + v2gDisplayParametersType->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 = 901; + } 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 901: + /* 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, &v2gDisplayParametersType->InletHot); + v2gDisplayParametersType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSignatureMethodType(bitstream_t* stream, struct v2gSignatureMethodType* v2gSignatureMethodType) { + int grammarID = 902; + int done = 0; + + init_v2gSignatureMethodType(v2gSignatureMethodType); + + while(!done) { + switch(grammarID) { + case 902: + /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decodeUnsignedInteger16(stream, &v2gSignatureMethodType->Algorithm.charactersLen); + if (errn == 0) { + if (v2gSignatureMethodType->Algorithm.charactersLen >= 2) { + v2gSignatureMethodType->Algorithm.charactersLen = (uint16_t)(v2gSignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignatureMethodType->Algorithm.charactersLen, v2gSignatureMethodType->Algorithm.characters, v2gSignatureMethodType_Algorithm_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 903; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 903: + /* 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, &v2gSignatureMethodType->HMACOutputLength); + v2gSignatureMethodType->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 = 904; + } 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 = 904; + break; + case 2: + done = 1; + grammarID = 3; + break; + case 3: + errn = decodeUnsignedInteger16(stream, &v2gSignatureMethodType->ANY.charactersLen); + if (errn == 0) { + if (v2gSignatureMethodType->ANY.charactersLen >= 2) { + v2gSignatureMethodType->ANY.charactersLen = (uint16_t)(v2gSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignatureMethodType->ANY.charactersLen, v2gSignatureMethodType->ANY.characters, v2gSignatureMethodType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignatureMethodType->ANY_isUsed = 1u; + grammarID = 905; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 904: + /* 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 = 904; + break; + case 1: + done = 1; + grammarID = 3; + break; + case 2: + errn = decodeUnsignedInteger16(stream, &v2gSignatureMethodType->ANY.charactersLen); + if (errn == 0) { + if (v2gSignatureMethodType->ANY.charactersLen >= 2) { + v2gSignatureMethodType->ANY.charactersLen = (uint16_t)(v2gSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignatureMethodType->ANY.charactersLen, v2gSignatureMethodType->ANY.characters, v2gSignatureMethodType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignatureMethodType->ANY_isUsed = 1u; + grammarID = 904; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 905: + /* 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, &v2gSignatureMethodType->HMACOutputLength); + v2gSignatureMethodType->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 = 904; + } 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 = 904; + break; + case 2: + done = 1; + grammarID = 3; + break; + case 3: + errn = decodeUnsignedInteger16(stream, &v2gSignatureMethodType->ANY.charactersLen); + if (errn == 0) { + if (v2gSignatureMethodType->ANY.charactersLen >= 2) { + v2gSignatureMethodType->ANY.charactersLen = (uint16_t)(v2gSignatureMethodType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignatureMethodType->ANY.charactersLen, v2gSignatureMethodType->ANY.characters, v2gSignatureMethodType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignatureMethodType->ANY_isUsed = 1u; + grammarID = 905; + 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_v2gTargetPositionType(bitstream_t* stream, struct v2gTargetPositionType* v2gTargetPositionType) { + int grammarID = 906; + int done = 0; + + init_v2gTargetPositionType(v2gTargetPositionType); + + while(!done) { + switch(grammarID) { + case 906: + /* 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, &v2gTargetPositionType->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 = 907; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 907: + /* 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, &v2gTargetPositionType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gEVFinePositioningParametersType(bitstream_t* stream, struct v2gEVFinePositioningParametersType* v2gEVFinePositioningParametersType) { + int grammarID = 4; + int done = 0; + + init_v2gEVFinePositioningParametersType(v2gEVFinePositioningParametersType); + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gVehicleCheckOutReqType(bitstream_t* stream, struct v2gVehicleCheckOutReqType* v2gVehicleCheckOutReqType) { + int grammarID = 908; + int done = 0; + + init_v2gVehicleCheckOutReqType(v2gVehicleCheckOutReqType); + + while(!done) { + switch(grammarID) { + case 908: + /* 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); + v2gVehicleCheckOutReqType->EVCheckOutStatus = (v2gEVCheckOutStatusType) 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 = 909; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 909: + /* 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, &v2gVehicleCheckOutReqType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gFinePositioningSetupResType(bitstream_t* stream, struct v2gFinePositioningSetupResType* v2gFinePositioningSetupResType) { + int grammarID = 910; + int done = 0; + + init_v2gFinePositioningSetupResType(v2gFinePositioningSetupResType); + + while(!done) { + switch(grammarID) { + case 910: + /* 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); + v2gFinePositioningSetupResType->ResponseCode = (v2gresponseCodeType) 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 = 911; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 911: + /* 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_v2gEVSEStatusType(stream, &v2gFinePositioningSetupResType->EVSEStatus); + v2gFinePositioningSetupResType->EVSEStatus_isUsed = 1u; + grammarID = 912; + break; + case 1: + errn = decode_v2gEVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters); + v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 1u; + grammarID = 2; + break; + case 2: + errn = decode_v2gLFA_EVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters); + v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; + grammarID = 2; + break; + case 3: + errn = decode_v2gMV_EVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters); + v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; + grammarID = 2; + break; + case 4: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 912: + /* 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_v2gEVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters); + v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + errn = decode_v2gLFA_EVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters); + v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; + grammarID = 2; + break; + case 2: + errn = decode_v2gMV_EVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters); + v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSAScheduleListType(bitstream_t* stream, struct v2gSAScheduleListType* v2gSAScheduleListType) { + int grammarID = 913; + int done = 0; + + init_v2gSAScheduleListType(v2gSAScheduleListType); + + while(!done) { + switch(grammarID) { + case 913: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gSAScheduleListType->SAScheduleTuple.arrayLen < v2gSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { + errn = decode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array[v2gSAScheduleListType->SAScheduleTuple.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 914; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 914: + /* 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 (v2gSAScheduleListType->SAScheduleTuple.arrayLen < v2gSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { + errn = decode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array[v2gSAScheduleListType->SAScheduleTuple.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 915; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 915: + /* 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 (v2gSAScheduleListType->SAScheduleTuple.arrayLen < v2gSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { + errn = decode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array[v2gSAScheduleListType->SAScheduleTuple.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSystemStatusReqType(bitstream_t* stream, struct v2gSystemStatusReqType* v2gSystemStatusReqType) { + int grammarID = 916; + int done = 0; + + init_v2gSystemStatusReqType(v2gSystemStatusReqType); + + while(!done) { + switch(grammarID) { + case 916: + /* 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); + v2gSystemStatusReqType->OperationMode = (v2goperationModeType) 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 = 917; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 917: + /* 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); + v2gSystemStatusReqType->EVMechanicalChargingDeviceStatus = (v2gmechanicalChargingDeviceStatusType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gCertificateChainType(bitstream_t* stream, struct v2gCertificateChainType* v2gCertificateChainType) { + int grammarID = 918; + int done = 0; + + init_v2gCertificateChainType(v2gCertificateChainType); + + while(!done) { + switch(grammarID) { + case 918: + /* 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, &v2gCertificateChainType->Id.charactersLen); + if (errn == 0) { + if (v2gCertificateChainType->Id.charactersLen >= 2) { + v2gCertificateChainType->Id.charactersLen = (uint16_t)(v2gCertificateChainType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCertificateChainType->Id.charactersLen, v2gCertificateChainType->Id.characters, v2gCertificateChainType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gCertificateChainType->Id_isUsed = 1u; + grammarID = 919; + break; + case 1: + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gCertificateChainType->Certificate.bytesLen); + if (errn == 0) { + errn = (v2gCertificateChainType->Certificate.bytesLen) <= v2gCertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gCertificateChainType->Certificate.bytesLen, v2gCertificateChainType->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 = 920; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 919: + /* 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, &v2gCertificateChainType->Certificate.bytesLen); + if (errn == 0) { + errn = (v2gCertificateChainType->Certificate.bytesLen) <= v2gCertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gCertificateChainType->Certificate.bytesLen, v2gCertificateChainType->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 = 920; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 920: + /* 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_v2gSubCertificatesType(stream, &v2gCertificateChainType->SubCertificates); + v2gCertificateChainType->SubCertificates_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostType) { + int grammarID = 921; + int done = 0; + + init_v2gCostType(v2gCostType); + + while(!done) { + switch(grammarID) { + case 921: + /* 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); + v2gCostType->costKind = (v2gcostKindType) 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 = 922; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 922: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gCostType->amount); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gServiceType(bitstream_t* stream, struct v2gServiceType* v2gServiceType) { + int grammarID = 923; + int done = 0; + + init_v2gServiceType(v2gServiceType); + + while(!done) { + switch(grammarID) { + case 923: + /* 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, &v2gServiceType->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 = 924; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 924: + /* 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, &v2gServiceType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gServiceParameterListType(bitstream_t* stream, struct v2gServiceParameterListType* v2gServiceParameterListType) { + int grammarID = 925; + int done = 0; + + init_v2gServiceParameterListType(v2gServiceParameterListType); + + while(!done) { + switch(grammarID) { + case 925: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 926; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 926: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 927; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 927: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 928; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 928: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 929; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 929: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 930; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 930: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 931; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 931: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 932; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 932: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 933; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 933: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 934; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 934: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 935; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 935: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 936; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 936: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 937; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 937: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 938; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 938: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 939; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 939: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 940; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 940: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 941; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 941: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 942; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 942: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 943; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 943: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 944; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 944: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 945; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 945: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 946; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 946: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 947; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 947: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 948; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 948: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 949; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 949: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 950; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 950: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 951; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 951: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 952; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 952: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 953; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 953: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 954; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 954: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 955; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 955: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 956; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 956: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 957; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 957: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 958; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 958: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 959; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 959: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 960; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 960: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 961; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 961: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 962; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 962: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 963; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 963: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 964; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 964: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 965; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 965: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 966; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 966: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 967; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 967: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 968; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 968: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 969; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 969: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 970; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 970: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 971; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 971: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 972; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 972: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 973; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 973: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 974; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 974: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 975; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 975: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 976; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 976: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 977; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 977: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 978; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 978: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 979; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 979: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 980; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 980: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 981; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 981: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 982; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 982: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 983; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 983: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 984; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 984: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 985; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 985: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 986; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 986: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 987; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 987: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 988; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 988: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 989; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 989: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 990; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 990: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 991; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 991: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 992; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 992: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 993; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 993: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 994; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 994: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 995; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 995: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 996; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 996: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 997; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 997: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 998; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 998: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 999; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 999: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1000; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1000: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1001; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1001: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1002; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1002: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1003; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1003: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1004; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1004: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1005; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1005: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1006; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1006: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1007; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1007: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1008; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1008: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1009; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1009: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1010; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1010: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1011; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1011: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1012; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1012: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1013; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1013: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1014; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1014: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1015; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1015: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1016; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1016: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1017; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1017: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1018; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1018: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1019; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1019: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1020; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1020: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1021; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1021: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1022; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1022: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1023; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1023: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1024; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1024: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1025; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1025: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1026; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1026: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1027; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1027: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1028; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1028: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1029; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1029: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1030; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1030: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1031; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1031: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1032; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1032: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1033; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1033: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1034; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1034: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1035; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1035: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1036; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1036: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1037; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1037: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1038; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1038: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1039; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1039: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1040; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1040: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1041; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1041: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1042; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1042: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1043; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1043: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1044; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1044: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1045; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1045: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1046; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1046: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1047; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1047: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1048; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1048: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1049; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1049: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1050; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1050: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1051; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1051: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1052; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1052: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1053; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1053: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1054; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1054: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1055; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1055: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1056; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1056: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1057; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1057: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1058; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1058: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1059; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1059: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1060; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1060: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1061; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1061: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1062; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1062: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1063; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1063: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1064; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1064: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1065; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1065: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1066; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1066: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1067; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1067: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1068; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1068: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1069; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1069: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1070; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1070: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1071; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1071: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1072; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1072: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1073; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1073: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1074; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1074: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1075; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1075: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1076; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1076: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1077; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1077: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1078; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1078: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1079; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1079: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1080; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1080: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1081; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1081: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1082; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1082: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1083; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1083: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1084; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1084: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1085; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1085: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1086; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1086: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1087; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1087: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1088; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1088: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1089; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1089: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1090; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1090: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1091; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1091: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1092; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1092: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1093; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1093: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1094; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1094: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1095; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1095: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1096; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1096: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1097; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1097: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1098; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1098: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1099; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1099: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1100; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1100: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1101; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1101: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1102; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1102: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1103; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1103: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1104; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1104: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1105; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1105: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1106; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1106: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1107; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1107: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1108; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1108: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1109; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1109: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1110; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1110: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1111; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1111: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1112; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1112: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1113; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1113: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1114; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1114: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1115; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1115: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1116; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1116: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1117; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1117: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1118; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1118: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1119; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1119: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1120; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1120: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1121; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1121: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1122; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1122: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1123; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1123: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1124; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1124: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1125; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1125: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1126; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1126: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1127; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1127: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1128; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1128: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1129; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1129: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1130; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1130: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1131; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1131: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1132; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1132: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1133; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1133: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1134; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1134: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1135; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1135: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1136; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1136: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1137; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1137: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1138; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1138: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1139; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1139: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1140; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1140: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1141; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1141: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1142; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1142: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1143; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1143: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1144; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1144: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1145; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1145: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1146; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1146: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1147; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1147: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1148; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1148: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1149; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1149: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1150; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1150: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1151; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1151: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1152; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1152: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1153; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1153: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1154; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1154: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1155; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1155: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1156; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1156: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1157; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1157: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1158; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1158: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1159; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1159: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1160; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1160: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1161; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1161: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1162; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1162: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1163; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1163: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1164; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1164: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1165; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1165: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1166; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1166: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1167; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1167: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1168; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1168: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1169; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1169: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1170; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1170: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1171; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1171: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1172; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1172: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1173; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1173: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1174; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1174: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1175; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1175: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1176; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1176: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1177; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1177: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1178; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1178: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1179; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1179: + /* 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 (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { + errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSignedInfoType(bitstream_t* stream, struct v2gSignedInfoType* v2gSignedInfoType) { + int grammarID = 1180; + int done = 0; + + init_v2gSignedInfoType(v2gSignedInfoType); + + while(!done) { + switch(grammarID) { + case 1180: + /* 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, &v2gSignedInfoType->Id.charactersLen); + if (errn == 0) { + if (v2gSignedInfoType->Id.charactersLen >= 2) { + v2gSignedInfoType->Id.charactersLen = (uint16_t)(v2gSignedInfoType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignedInfoType->Id.charactersLen, v2gSignedInfoType->Id.characters, v2gSignedInfoType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignedInfoType->Id_isUsed = 1u; + grammarID = 1181; + break; + case 1: + errn = decode_v2gCanonicalizationMethodType(stream, &v2gSignedInfoType->CanonicalizationMethod); + grammarID = 1182; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1181: + /* 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_v2gCanonicalizationMethodType(stream, &v2gSignedInfoType->CanonicalizationMethod); + grammarID = 1182; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1182: + /* 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_v2gSignatureMethodType(stream, &v2gSignedInfoType->SignatureMethod); + grammarID = 1183; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1183: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gSignedInfoType->Reference.arrayLen < v2gSignedInfoType_Reference_ARRAY_SIZE) { + errn = decode_v2gReferenceType(stream, &v2gSignedInfoType->Reference.array[v2gSignedInfoType->Reference.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 619; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 619: + /* 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 (v2gSignedInfoType->Reference.arrayLen < v2gSignedInfoType_Reference_ARRAY_SIZE) { + errn = decode_v2gReferenceType(stream, &v2gSignedInfoType->Reference.array[v2gSignedInfoType->Reference.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 619; + break; + case 1: + done = 1; + grammarID = 3; + 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,EVErrorInformationType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ErrorCode)', derivedBy='EXTENSION'. */ +static int decode_v2gEVErrorInformationType(bitstream_t* stream, struct v2gEVErrorInformationType* v2gEVErrorInformationType) { + int grammarID = 1184; + int done = 0; + + init_v2gEVErrorInformationType(v2gEVErrorInformationType); + + while(!done) { + switch(grammarID) { + case 1184: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorCode)] */ + 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, 4, &uint32); + v2gEVErrorInformationType->ErrorCode = (v2gEVErrorCodeType) 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}ErrorCode) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gListOfRootCertificateIDsType(bitstream_t* stream, struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType) { + int grammarID = 1185; + int done = 0; + + init_v2gListOfRootCertificateIDsType(v2gListOfRootCertificateIDsType); + + while(!done) { + switch(grammarID) { + case 1185: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1186; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1186: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1187; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1187: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1188; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1188: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1189; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1189: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1190; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1190: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1191; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1191: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1192; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1192: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1193; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1193: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1194; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1194: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1195; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1195: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1196; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1196: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1197; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1197: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1198; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1198: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1199; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1199: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1200; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1200: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1201; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1201: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1202; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1202: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1203; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1203: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1204; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1204: + /* 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 (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1602,14 +37046,14 @@ static int decode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct /* 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_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v2gSPKIDataType) { - int grammarID = 39; + int grammarID = 1205; int done = 0; init_v2gSPKIDataType(v2gSPKIDataType); while(!done) { switch(grammarID) { - case 39: + case 1205: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { @@ -1640,7 +37084,7 @@ static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 40; + grammarID = 1206; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -1652,7 +37096,7 @@ static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v } } break; - case 40: + case 1206: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { @@ -1683,7 +37127,7 @@ static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 40; + grammarID = 1206; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -1692,11 +37136,11 @@ static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v case 1: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 41; + grammarID = 1207; break; case 2: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1704,7 +37148,7 @@ static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v } } break; - case 41: + case 1207: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { @@ -1735,7 +37179,7 @@ static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 40; + grammarID = 1206; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -1743,7 +37187,7 @@ static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v break; case 1: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1762,41 +37206,23 @@ static int decode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":FaultCode,"urn:iso:15118:2:2013:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ -static int decode_v2gNotificationType(bitstream_t* stream, struct v2gNotificationType* v2gNotificationType) { - int grammarID = 42; +/* 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_v2gDC_BidirectionalControlReqType(bitstream_t* stream, struct v2gDC_BidirectionalControlReqType* v2gDC_BidirectionalControlReqType) { + int grammarID = 1208; int done = 0; - init_v2gNotificationType(v2gNotificationType); + init_v2gDC_BidirectionalControlReqType(v2gDC_BidirectionalControlReqType); while(!done) { switch(grammarID) { - case 42: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode)] */ + case 1208: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ 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); - v2gNotificationType->FaultCode = (v2gfaultCodeType) 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:2013:MsgDataTypes}FaultCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 43; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetEnergyRequest); + grammarID = 1209; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1804,48 +37230,54 @@ static int decode_v2gNotificationType(bitstream_t* stream, struct v2gNotificatio } } break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultMsg), END_ELEMENT] */ + case 1209: + /* 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_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumEnergyRequest); + v2gDC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 1210; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest); + v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 1211; + break; + case 2: + errn = decode_v2gDisplayParametersType(stream, &v2gDC_BidirectionalControlReqType->DisplayParameters); + v2gDC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; + grammarID = 1212; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetCurrent); + grammarID = 1213; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1210: + /* 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: - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gNotificationType->FaultMsg.charactersLen); - if (errn == 0) { - errn = (v2gNotificationType->FaultMsg.charactersLen - 2) <= v2gNotificationType_FaultMsg_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gNotificationType->FaultMsg.charactersLen >= 2) { - v2gNotificationType->FaultMsg.charactersLen = (uint16_t)(v2gNotificationType->FaultMsg.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gNotificationType->FaultMsg.charactersLen, v2gNotificationType->FaultMsg.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gNotificationType->FaultMsg_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:2013:MsgDataTypes}FaultMsg) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest); + v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 1211; break; case 1: - done = 1; - grammarID = 1; + errn = decode_v2gDisplayParametersType(stream, &v2gDC_BidirectionalControlReqType->DisplayParameters); + v2gDC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; + grammarID = 1212; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetCurrent); + grammarID = 1213; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1853,14 +37285,184 @@ static int decode_v2gNotificationType(bitstream_t* stream, struct v2gNotificatio } } break; - case 5: + case 1211: + /* 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_v2gDisplayParametersType(stream, &v2gDC_BidirectionalControlReqType->DisplayParameters); + v2gDC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; + grammarID = 1212; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetCurrent); + grammarID = 1213; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1212: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetCurrent); + grammarID = 1213; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1213: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetVoltage); + grammarID = 1214; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1214: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumVoltage); + grammarID = 1215; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1215: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMinimumVoltage); + grammarID = 1216; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1216: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumChargeCurrent); + grammarID = 1217; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1217: + /* 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_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumDischargeCurrent); + v2gDC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 1u; + grammarID = 1218; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumChargePower); + v2gDC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 1u; + grammarID = 1219; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumDischargePower); + v2gDC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1218: + /* 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_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumChargePower); + v2gDC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 1u; + grammarID = 1219; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumDischargePower); + v2gDC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1219: + /* 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_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumDischargePower); + v2gDC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -1879,446 +37481,17 @@ static int decode_v2gNotificationType(bitstream_t* stream, struct v2gNotificatio 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_v2gObjectType(bitstream_t* stream, struct v2gObjectType* v2gObjectType) { - int grammarID = 44; +/* 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_v2gPairingResType(bitstream_t* stream, struct v2gPairingResType* v2gPairingResType) { + int grammarID = 1220; int done = 0; - init_v2gObjectType(v2gObjectType); + init_v2gPairingResType(v2gPairingResType); while(!done) { switch(grammarID) { - case 44: - /* 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, &v2gObjectType->Encoding.charactersLen); - if (errn == 0) { - errn = (v2gObjectType->Encoding.charactersLen - 2) <= v2gObjectType_Encoding_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gObjectType->Encoding.charactersLen >= 2) { - v2gObjectType->Encoding.charactersLen = (uint16_t)(v2gObjectType->Encoding.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gObjectType->Encoding.charactersLen, v2gObjectType->Encoding.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gObjectType->Encoding_isUsed = 1u; - grammarID = 45; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &v2gObjectType->Id.charactersLen); - if (errn == 0) { - errn = (v2gObjectType->Id.charactersLen - 2) <= v2gObjectType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gObjectType->Id.charactersLen >= 2) { - v2gObjectType->Id.charactersLen = (uint16_t)(v2gObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gObjectType->Id.charactersLen, v2gObjectType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gObjectType->Id_isUsed = 1u; - grammarID = 46; - break; - case 2: - errn = decodeUnsignedInteger16(stream, &v2gObjectType->MimeType.charactersLen); - if (errn == 0) { - errn = (v2gObjectType->MimeType.charactersLen - 2) <= v2gObjectType_MimeType_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gObjectType->MimeType.charactersLen >= 2) { - v2gObjectType->MimeType.charactersLen = (uint16_t)(v2gObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gObjectType->MimeType.charactersLen, v2gObjectType->MimeType.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gObjectType->MimeType_isUsed = 1u; - grammarID = 47; - break; - case 3: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 35; - break; - case 4: - done = 1; - grammarID = 1; - break; - case 5: - grammarID = 35; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 45: - /* 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, &v2gObjectType->Id.charactersLen); - if (errn == 0) { - errn = (v2gObjectType->Id.charactersLen - 2) <= v2gObjectType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gObjectType->Id.charactersLen >= 2) { - v2gObjectType->Id.charactersLen = (uint16_t)(v2gObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gObjectType->Id.charactersLen, v2gObjectType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gObjectType->Id_isUsed = 1u; - grammarID = 46; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &v2gObjectType->MimeType.charactersLen); - if (errn == 0) { - errn = (v2gObjectType->MimeType.charactersLen - 2) <= v2gObjectType_MimeType_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gObjectType->MimeType.charactersLen >= 2) { - v2gObjectType->MimeType.charactersLen = (uint16_t)(v2gObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gObjectType->MimeType.charactersLen, v2gObjectType->MimeType.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gObjectType->MimeType_isUsed = 1u; - grammarID = 47; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 35; - break; - case 3: - done = 1; - grammarID = 1; - break; - case 4: - grammarID = 35; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 46: - /* 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, &v2gObjectType->MimeType.charactersLen); - if (errn == 0) { - errn = (v2gObjectType->MimeType.charactersLen - 2) <= v2gObjectType_MimeType_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gObjectType->MimeType.charactersLen >= 2) { - v2gObjectType->MimeType.charactersLen = (uint16_t)(v2gObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gObjectType->MimeType.charactersLen, v2gObjectType->MimeType.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gObjectType->MimeType_isUsed = 1u; - grammarID = 47; - break; - case 1: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 35; - break; - case 2: - done = 1; - grammarID = 1; - break; - case 3: - grammarID = 35; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 47: - /* 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 = 35; - break; - case 1: - done = 1; - grammarID = 1; - break; - case 2: - grammarID = 35; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 35: - /* 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 = 35; - break; - case 1: - done = 1; - grammarID = 1; - break; - case 2: - grammarID = 35; - 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_v2gManifestType(bitstream_t* stream, struct v2gManifestType* v2gManifestType) { - int grammarID = 48; - int done = 0; - - init_v2gManifestType(v2gManifestType); - - while(!done) { - switch(grammarID) { - case 48: - /* 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, &v2gManifestType->Id.charactersLen); - if (errn == 0) { - errn = (v2gManifestType->Id.charactersLen - 2) <= v2gManifestType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gManifestType->Id.charactersLen >= 2) { - v2gManifestType->Id.charactersLen = (uint16_t)(v2gManifestType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gManifestType->Id.charactersLen, v2gManifestType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gManifestType->Id_isUsed = 1u; - grammarID = 49; - break; - case 1: - if (v2gManifestType->Reference.arrayLen < v2gManifestType_Reference_ARRAY_SIZE) { - errn = decode_v2gReferenceType(stream, &v2gManifestType->Reference.array[v2gManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 50; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 49: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gManifestType->Reference.arrayLen < v2gManifestType_Reference_ARRAY_SIZE) { - errn = decode_v2gReferenceType(stream, &v2gManifestType->Reference.array[v2gManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 50; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* 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 (v2gManifestType->Reference.arrayLen < v2gManifestType_Reference_ARRAY_SIZE) { - errn = decode_v2gReferenceType(stream, &v2gManifestType->Reference.array[v2gManifestType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 50; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2013:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_v2gParameterSetType(bitstream_t* stream, struct v2gParameterSetType* v2gParameterSetType) { - int grammarID = 51; - int done = 0; - - init_v2gParameterSetType(v2gParameterSetType); - - while(!done) { - switch(grammarID) { - case 51: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID)] */ - 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, &v2gParameterSetType->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:2013:MsgDataTypes}ParameterSetID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 52; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 53; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { - errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 53; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgBody,PaymentServiceSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int decode_v2gPaymentServiceSelectionResType(bitstream_t* stream, struct v2gPaymentServiceSelectionResType* v2gPaymentServiceSelectionResType) { - int grammarID = 54; - int done = 0; - - init_v2gPaymentServiceSelectionResType(v2gPaymentServiceSelectionResType); - - while(!done) { - switch(grammarID) { - case 54: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 1220: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -2328,17 +37501,17 @@ static int decode_v2gPaymentServiceSelectionResType(bitstream_t* stream, struct if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - v2gPaymentServiceSelectionResType->ResponseCode = (v2gresponseCodeType) uint32; + v2gPairingResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 1221; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -2350,62 +37523,33 @@ static int decode_v2gPaymentServiceSelectionResType(bitstream_t* stream, struct } } break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + case 1221: + /* 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: - done = 1; - grammarID = 1; + errn = decode_v2gEVSEStatusType(stream, &v2gPairingResType->EVSEStatus); + v2gPairingResType->EVSEStatus_isUsed = 1u; + grammarID = 1222; 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:2013:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType) { - int grammarID = 55; - int done = 0; - - init_v2gRelativeTimeIntervalType(v2gRelativeTimeIntervalType); - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &v2gRelativeTimeIntervalType->start); + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gPairingResType->EVSEProcessing = (v2gEVSEProcessingType) 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:2013:MsgDataTypes}start) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 56; + grammarID = 1223; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -2417,51 +37561,67 @@ static int decode_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRel } } break; - case 56: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + case 1222: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &v2gRelativeTimeIntervalType->duration); - v2gRelativeTimeIntervalType->duration_isUsed = 1u; + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gPairingResType->EVSEProcessing = (v2gEVSEProcessingType) 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:2013:MsgDataTypes}duration) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 1223; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; - case 1: - done = 1; - grammarID = 1; - break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; - case 5: + case 1223: + /* 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_v2gParameterSetType(stream, &v2gPairingResType->PairingParameters); + v2gPairingResType->PairingParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2480,35 +37640,40 @@ static int decode_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRel return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='privateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType) { - int grammarID = 57; +/* 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_v2gCartesianCoordinatesType(bitstream_t* stream, struct v2gCartesianCoordinatesType* v2gCartesianCoordinatesType) { + int grammarID = 1224; int done = 0; - init_v2gContractSignatureEncryptedPrivateKeyType(v2gContractSignatureEncryptedPrivateKeyType); + init_v2gCartesianCoordinatesType(v2gCartesianCoordinatesType); while(!done) { switch(grammarID) { - case 57: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id)] */ + case 1224: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decodeUnsignedInteger16(stream, &v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - if (errn == 0) { - errn = (v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen - 2) <= v2gContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen >= 2) { - v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen = (uint16_t)(v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen, v2gContractSignatureEncryptedPrivateKeyType->Id.characters); + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeInteger16(stream, &v2gCartesianCoordinatesType->XCoordinate); } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + /* Second level event (e.g., xsi: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 = 1225; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } - grammarID = 58; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2516,20 +37681,31 @@ static int decode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* strea } } break; - case 58: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ + case 1225: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decodeUnsignedInteger16(stream, &v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen) <= v2gContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeInteger16(stream, &v2gCartesianCoordinatesType->YCoordinate); + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } } - if (errn == 0) { - errn = decodeBytes(stream, v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen, v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytes); + 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 = 1226; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } } - grammarID = 5; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2537,14 +37713,46 @@ static int decode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* strea } } break; - case 5: + case 1226: + /* 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, &v2gCartesianCoordinatesType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2563,98 +37771,72 @@ static int decode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* strea return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate{1-4})', derivedBy='RESTRICTION'. */ -static int decode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCertificatesType* v2gSubCertificatesType) { - int grammarID = 59; +/* 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_v2gChargeParameterDiscoveryReqType(bitstream_t* stream, struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType) { + int grammarID = 1227; int done = 0; - init_v2gSubCertificatesType(v2gSubCertificatesType); + init_v2gChargeParameterDiscoveryReqType(v2gChargeParameterDiscoveryReqType); while(!done) { switch(grammarID) { - case 59: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + case 1227: + /* 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: - if (v2gSubCertificatesType->Certificate.arrayLen < v2gSubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen) <= v2gSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytes); - } - v2gSubCertificatesType->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; - } + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 60; + errn = decodeNBitUnsignedInteger(stream, 10, &(uint32)); + v2gChargeParameterDiscoveryReqType->MaxSupportingPoints = (uint16_t)(uint32 + 12); + v2gChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed = 1u; } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 60: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSubCertificatesType->Certificate.arrayLen < v2gSubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen) <= v2gSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytes); - } - v2gSubCertificatesType->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:2013:MsgDataTypes}Certificate) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 61; + grammarID = 1228; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: - done = 1; - grammarID = 1; + errn = decode_v2gAC_EVBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter); + v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 1u; + grammarID = 1229; + break; + case 2: + errn = decode_v2gAC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter); + v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; + grammarID = 1229; + break; + case 3: + errn = decode_v2gDC_EVBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter); + v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 1u; + grammarID = 1229; + break; + case 4: + errn = decode_v2gDC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter); + v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; + grammarID = 1229; + break; + case 5: + errn = decode_v2gEVEnergyTransferParameterType(stream, &v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter); + v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 1u; + grammarID = 1229; + break; + case 6: + errn = decode_v2gWPT_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter); + v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 1u; + grammarID = 1229; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2662,46 +37844,60 @@ static int decode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCerti } } break; - case 61: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ + case 1228: + /* 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_v2gAC_EVBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter); + v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 1u; + grammarID = 1229; + break; + case 1: + errn = decode_v2gAC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter); + v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; + grammarID = 1229; + break; + case 2: + errn = decode_v2gDC_EVBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter); + v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 1u; + grammarID = 1229; + break; + case 3: + errn = decode_v2gDC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter); + v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; + grammarID = 1229; + break; + case 4: + errn = decode_v2gEVEnergyTransferParameterType(stream, &v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter); + v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 1u; + grammarID = 1229; + break; + case 5: + errn = decode_v2gWPT_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter); + v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 1u; + grammarID = 1229; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1229: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - if (v2gSubCertificatesType->Certificate.arrayLen < v2gSubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen) <= v2gSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytes); - } - v2gSubCertificatesType->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:2013:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 62; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gMinimumPMaxRequestType(stream, &v2gChargeParameterDiscoveryReqType->MinimumPMaxRequest); + v2gChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed = 1u; + grammarID = 2; break; case 1: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2709,61 +37905,14 @@ static int decode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCerti } } break; - case 62: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSubCertificatesType->Certificate.arrayLen < v2gSubCertificatesType_Certificate_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen) <= v2gSubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytesLen, v2gSubCertificatesType->Certificate.array[v2gSubCertificatesType->Certificate.arrayLen].bytes); - } - v2gSubCertificatesType->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:2013:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2782,42 +37931,37 @@ static int decode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCerti return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PaymentOptionListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":PaymentOption{1-2})', derivedBy='RESTRICTION'. */ -static int decode_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymentOptionListType* v2gPaymentOptionListType) { - int grammarID = 63; +/* 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_v2gChargeParameterDiscoveryResType(bitstream_t* stream, struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType) { + int grammarID = 1230; int done = 0; - init_v2gPaymentOptionListType(v2gPaymentOptionListType); + init_v2gChargeParameterDiscoveryResType(v2gChargeParameterDiscoveryResType); while(!done) { switch(grammarID) { - case 63: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption)] */ + case 1230: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - if (v2gPaymentOptionListType->PaymentOption.arrayLen < v2gPaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - v2gPaymentOptionListType->PaymentOption.array[v2gPaymentOptionListType->PaymentOption.arrayLen] = (v2gpaymentOptionType) uint32; - v2gPaymentOptionListType->PaymentOption.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 5, &uint32); + v2gChargeParameterDiscoveryResType->ResponseCode = (v2gresponseCodeType) uint32; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 64; + grammarID = 1231; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -2829,56 +37973,172 @@ static int decode_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymen } } break; - case 64: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption), END_ELEMENT] */ + case 1231: + /* 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: - if (v2gPaymentOptionListType->PaymentOption.arrayLen < v2gPaymentOptionListType_PaymentOption_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - v2gPaymentOptionListType->PaymentOption.array[v2gPaymentOptionListType->PaymentOption.arrayLen] = (v2gpaymentOptionType) uint32; - v2gPaymentOptionListType->PaymentOption.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } + errn = decode_v2gEVSEStatusType(stream, &v2gChargeParameterDiscoveryResType->EVSEStatus); + v2gChargeParameterDiscoveryResType->EVSEStatus_isUsed = 1u; + grammarID = 1232; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gChargeParameterDiscoveryResType->EVSEProcessing = (v2gEVSEProcessingType) uint32; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 1233; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; - case 1: - done = 1; - grammarID = 1; - break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; - case 5: + case 1232: + /* 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); + v2gChargeParameterDiscoveryResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 1233; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1233: + /* 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_v2gSAScheduleListType(stream, &v2gChargeParameterDiscoveryResType->SAScheduleList); + v2gChargeParameterDiscoveryResType->SAScheduleList_isUsed = 1u; + grammarID = 1234; + break; + case 1: + errn = decode_v2gAC_EVSEBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter); + v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 1u; + grammarID = 2; + break; + case 2: + errn = decode_v2gAC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter); + v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; + grammarID = 2; + break; + case 3: + errn = decode_v2gDC_EVSEBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter); + v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 1u; + grammarID = 2; + break; + case 4: + errn = decode_v2gDC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter); + v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; + grammarID = 2; + break; + case 5: + errn = decode_v2gEVSEEnergyTransferParameterType(stream, &v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter); + v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 1u; + grammarID = 2; + break; + case 6: + errn = decode_v2gWPT_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter); + v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 1u; + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1234: + /* 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_v2gAC_EVSEBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter); + v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 1u; + grammarID = 2; + break; + case 1: + errn = decode_v2gAC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter); + v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; + grammarID = 2; + break; + case 2: + errn = decode_v2gDC_EVSEBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter); + v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 1u; + grammarID = 2; + break; + case 3: + errn = decode_v2gDC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter); + v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; + grammarID = 2; + break; + case 4: + errn = decode_v2gEVSEEnergyTransferParameterType(stream, &v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter); + v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 1u; + grammarID = 2; + break; + case 5: + errn = decode_v2gWPT_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter); + v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 1u; + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2897,29 +38157,46 @@ static int decode_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymen return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":EPriceLevel{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ConsumptionCost{0-3}))', derivedBy='EXTENSION'. */ -static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTariffEntryType* v2gSalesTariffEntryType) { - int grammarID = 65; +/* 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_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueType* v2gRSAKeyValueType) { + int grammarID = 1235; int done = 0; - init_v2gSalesTariffEntryType(v2gSalesTariffEntryType); + init_v2gRSAKeyValueType(v2gRSAKeyValueType); while(!done) { switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + case 1235: + /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gRelativeTimeIntervalType(stream, &v2gSalesTariffEntryType->RelativeTimeInterval); - v2gSalesTariffEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 66; - break; - case 1: - errn = decode_v2gIntervalType(stream, &v2gSalesTariffEntryType->TimeInterval); - v2gSalesTariffEntryType->TimeInterval_isUsed = 1u; - grammarID = 66; + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gRSAKeyValueType->Modulus.bytesLen); + if (errn == 0) { + errn = (v2gRSAKeyValueType->Modulus.bytesLen) <= v2gRSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gRSAKeyValueType->Modulus.bytesLen, v2gRSAKeyValueType->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 = 1236; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2927,9 +38204,82 @@ static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTa } } break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + case 1236: + /* 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, &v2gRSAKeyValueType->Exponent.bytesLen); + if (errn == 0) { + errn = (v2gRSAKeyValueType->Exponent.bytesLen) <= v2gRSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gRSAKeyValueType->Exponent.bytesLen, v2gRSAKeyValueType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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{1-255},"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_v2gLFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct v2gLFA_EVFinePositioningSetupParametersType* v2gLFA_EVFinePositioningSetupParametersType) { + int grammarID = 1237; + int done = 0; + + init_v2gLFA_EVFinePositioningSetupParametersType(v2gLFA_EVFinePositioningSetupParametersType); + + while(!done) { + switch(grammarID) { + case 1237: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: @@ -2938,34 +38288,134 @@ static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTa if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); - v2gSalesTariffEntryType->EPriceLevel = (uint8_t)(uint32 + 0); - v2gSalesTariffEntryType->EPriceLevel_isUsed = 1u; + v2gLFA_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:2013:MsgDataTypes}EPriceLevel) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 67; + grammarID = 1238; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1238: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gSensorListType(stream, &v2gLFA_EVFinePositioningSetupParametersType->SensorList); + grammarID = 1239; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1239: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1240; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1240: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: - if (v2gSalesTariffEntryType->ConsumptionCost.arrayLen < v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array[v2gSalesTariffEntryType->ConsumptionCost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } } - grammarID = 68; - break; - case 2: - done = 1; - grammarID = 1; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2973,22 +38423,59 @@ static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTa } } break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ + case 1241: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - if (v2gSalesTariffEntryType->ConsumptionCost.arrayLen < v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array[v2gSalesTariffEntryType->ConsumptionCost.arrayLen++]); + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } - grammarID = 68; + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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 = 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -2996,22 +38483,59 @@ static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTa } } break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ + case 1243: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - if (v2gSalesTariffEntryType->ConsumptionCost.arrayLen < v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array[v2gSalesTariffEntryType->ConsumptionCost.arrayLen++]); + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } - grammarID = 69; + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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 = 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -3019,22 +38543,59 @@ static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTa } } break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ + case 1244: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - if (v2gSalesTariffEntryType->ConsumptionCost.arrayLen < v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { - errn = decode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array[v2gSalesTariffEntryType->ConsumptionCost.arrayLen++]); + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } - grammarID = 5; + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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 = 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -3042,14 +38603,15145 @@ static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTa } } break; - case 5: + case 1245: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1246: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1247: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1248: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1249: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1250: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1251: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1252: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1253: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1254: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1255: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1256: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1257: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1258: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1259: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1260: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1261: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1262: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1263: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1264: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1265: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1266: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1267: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1268: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1269: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1270: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1271: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1272: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1273: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1274: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1275: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1276: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1277: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1278: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1279: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1280: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1281: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1282: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1283: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1284: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1285: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1286: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1287: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1288: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1289: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1290: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1291: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1292: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1293: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1294: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1295: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1296: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1297: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1298: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1299: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1300: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1301: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1302: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1303: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1304: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1305: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1306: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1307: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1308: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1309: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1310: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1311: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1312: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1313: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1314: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1315: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1316: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1317: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1318: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1319: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1320: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1321: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1322: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1323: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1324: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1325: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1326: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1327: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1328: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1329: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1330: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1331: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1332: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1333: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1334: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1335: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1336: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1337: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1338: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1339: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1340: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1341: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1342: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1343: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1344: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1345: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1346: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1347: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1348: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1349: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1350: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1351: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1352: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1353: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1354: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1355: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1356: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1357: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1358: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1359: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1360: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1361: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1362: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1363: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1364: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1365: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1366: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1367: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1368: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1369: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1370: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1371: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1372: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1373: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1374: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1375: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1376: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1377: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1378: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1379: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1380: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1381: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1382: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1383: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1384: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1385: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1386: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1387: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1388: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1389: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1390: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1391: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1392: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1393: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1394: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1395: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1396: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1397: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1398: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1399: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1400: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1401: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1402: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1403: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1404: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1405: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1406: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1407: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1408: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1409: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1410: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1411: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1412: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1413: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1414: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1415: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1416: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1417: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1418: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1419: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1420: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1421: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1422: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1423: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1424: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1425: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1426: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1427: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1428: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1429: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1430: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1431: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1432: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1433: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1434: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1435: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1436: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1437: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1438: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1439: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1440: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1441: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1442: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1443: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1444: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1445: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1446: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1447: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1448: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1449: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1450: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1451: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1452: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1453: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1454: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1455: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1456: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1457: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1458: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1459: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1460: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1461: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1462: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1463: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1464: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1465: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1466: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1467: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1468; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1468: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1469; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1469: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1470; + } 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)); + v2gLFA_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 = 1242; + } 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}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1471; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1471: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1472; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1472: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1473; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1473: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1474; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1474: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1475; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1475: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1476; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1476: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1477: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1478; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1478: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1479; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1479: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1480; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1480: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } 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({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } 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({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1483; + } 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)); + v2gLFA_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 = 1242; + } 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({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1484; + } 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)); + v2gLFA_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 = 1242; + } 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({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1485: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1486: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1487; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1487: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1488; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1488: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1489; + } 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)); + v2gLFA_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 = 1242; + } 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({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1490; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1490: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1491; + } 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)); + v2gLFA_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 = 1242; + } 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}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1492; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1492: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1493; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1493: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1494; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1494: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1495; + } 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1495: + /* 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)); + v2gLFA_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 = 1242; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1242: + /* 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)); + v2gLFA_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 = 1496; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1496: + /* 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)); + v2gLFA_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 = 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: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, &v2gLFA_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -3068,300 +53760,17 @@ static int decode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTa return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SupportedEnergyTransferModeType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode{1-6})', derivedBy='RESTRICTION'. */ -static int decode_v2gSupportedEnergyTransferModeType(bitstream_t* stream, struct v2gSupportedEnergyTransferModeType* v2gSupportedEnergyTransferModeType) { - int grammarID = 70; - int done = 0; - - init_v2gSupportedEnergyTransferModeType(v2gSupportedEnergyTransferModeType); - - while(!done) { - switch(grammarID) { - case 70: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < v2gSupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (v2gEnergyTransferModeType) uint32; - v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 71; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < v2gSupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (v2gEnergyTransferModeType) uint32; - v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 72; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < v2gSupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (v2gEnergyTransferModeType) uint32; - v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 73; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < v2gSupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (v2gEnergyTransferModeType) uint32; - v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 74; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < v2gSupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (v2gEnergyTransferModeType) uint32; - v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 75; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen < v2gSupportedEnergyTransferModeType_EnergyTransferMode_ARRAY_SIZE) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen] = (v2gEnergyTransferModeType) uint32; - v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ +/* 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_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelectedServiceType* v2gSelectedServiceType) { - int grammarID = 76; + int grammarID = 1498; int done = 0; init_v2gSelectedServiceType(v2gSelectedServiceType); while(!done) { switch(grammarID) { - case 76: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID)] */ + case 1498: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -3377,10 +53786,10 @@ static int decode_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelected } } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 77; + grammarID = 1499; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -3392,51 +53801,46 @@ static int decode_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelected } } break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + case 1499: + /* 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[INTEGER]] */ + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeInteger16(stream, &v2gSelectedServiceType->ParameterSetID); - v2gSelectedServiceType->ParameterSetID_isUsed = 1u; + errn = decodeUnsignedInteger16(stream, &v2gSelectedServiceType->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:2013:MsgDataTypes}ParameterSetID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; - case 1: - done = 1; - grammarID = 1; - break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -3455,17 +53859,193 @@ static int decode_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelected return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int decode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeldingDetectionResType* v2gWeldingDetectionResType) { - int grammarID = 23; +/* 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_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignaturePropertyType* v2gSignaturePropertyType) { + int grammarID = 1500; int done = 0; - init_v2gWeldingDetectionResType(v2gWeldingDetectionResType); + init_v2gSignaturePropertyType(v2gSignaturePropertyType); while(!done) { switch(grammarID) { - case 23: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 1500: + /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decodeUnsignedInteger16(stream, &v2gSignaturePropertyType->Id.charactersLen); + if (errn == 0) { + if (v2gSignaturePropertyType->Id.charactersLen >= 2) { + v2gSignaturePropertyType->Id.charactersLen = (uint16_t)(v2gSignaturePropertyType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignaturePropertyType->Id.charactersLen, v2gSignaturePropertyType->Id.characters, v2gSignaturePropertyType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignaturePropertyType->Id_isUsed = 1u; + grammarID = 1501; + break; + case 1: + errn = decodeUnsignedInteger16(stream, &v2gSignaturePropertyType->Target.charactersLen); + if (errn == 0) { + if (v2gSignaturePropertyType->Target.charactersLen >= 2) { + v2gSignaturePropertyType->Target.charactersLen = (uint16_t)(v2gSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignaturePropertyType->Target.charactersLen, v2gSignaturePropertyType->Target.characters, v2gSignaturePropertyType_Target_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 1502; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1501: + /* StartTag[ATTRIBUTE[STRING](Target)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decodeUnsignedInteger16(stream, &v2gSignaturePropertyType->Target.charactersLen); + if (errn == 0) { + if (v2gSignaturePropertyType->Target.charactersLen >= 2) { + v2gSignaturePropertyType->Target.charactersLen = (uint16_t)(v2gSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignaturePropertyType->Target.charactersLen, v2gSignaturePropertyType->Target.characters, v2gSignaturePropertyType_Target_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 1502; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1502: + /* 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 = 904; + break; + case 1: + errn = decodeUnsignedInteger16(stream, &v2gSignaturePropertyType->ANY.charactersLen); + if (errn == 0) { + if (v2gSignaturePropertyType->ANY.charactersLen >= 2) { + v2gSignaturePropertyType->ANY.charactersLen = (uint16_t)(v2gSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignaturePropertyType->ANY.charactersLen, v2gSignaturePropertyType->ANY.characters, v2gSignaturePropertyType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignaturePropertyType->ANY_isUsed = 1u; + grammarID = 1503; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 904: + /* 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 = 904; + break; + case 1: + done = 1; + grammarID = 3; + break; + case 2: + errn = decodeUnsignedInteger16(stream, &v2gSignaturePropertyType->ANY.charactersLen); + if (errn == 0) { + if (v2gSignaturePropertyType->ANY.charactersLen >= 2) { + v2gSignaturePropertyType->ANY.charactersLen = (uint16_t)(v2gSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignaturePropertyType->ANY.charactersLen, v2gSignaturePropertyType->ANY.characters, v2gSignaturePropertyType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignaturePropertyType->ANY_isUsed = 1u; + grammarID = 904; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1503: + /* 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 = 904; + break; + case 1: + errn = decodeUnsignedInteger16(stream, &v2gSignaturePropertyType->ANY.charactersLen); + if (errn == 0) { + if (v2gSignaturePropertyType->ANY.charactersLen >= 2) { + v2gSignaturePropertyType->ANY.charactersLen = (uint16_t)(v2gSignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSignaturePropertyType->ANY.charactersLen, v2gSignaturePropertyType->ANY.characters, v2gSignaturePropertyType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gSignaturePropertyType->ANY_isUsed = 1u; + grammarID = 1503; + 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_v2gAC_BidirectionalControlResType(bitstream_t* stream, struct v2gAC_BidirectionalControlResType* v2gAC_BidirectionalControlResType) { + int grammarID = 1504; + int done = 0; + + init_v2gAC_BidirectionalControlResType(v2gAC_BidirectionalControlResType); + + while(!done) { + switch(grammarID) { + case 1504: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -3475,17 +54055,17 @@ static int decode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeld if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - v2gWeldingDetectionResType->ResponseCode = (v2gresponseCodeType) uint32; + v2gAC_BidirectionalControlResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 24; + grammarID = 1505; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -3497,14 +54077,37 @@ static int decode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeld } } break; - case 24: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + case 1505: + /* 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_v2gDC_EVSEStatusType(stream, &v2gWeldingDetectionResType->DC_EVSEStatus); - grammarID = 25; + errn = decode_v2gEVSEStatusType(stream, &v2gAC_BidirectionalControlResType->EVSEStatus); + v2gAC_BidirectionalControlResType->EVSEStatus_isUsed = 1u; + grammarID = 1506; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gAC_BidirectionalControlResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 1507; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -3512,58 +54115,8 @@ static int decode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeld } } break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gWeldingDetectionResType->EVSEPresentVoltage); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ChargeProgress,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType) { - int grammarID = 78; - int done = 0; - - init_v2gPowerDeliveryReqType(v2gPowerDeliveryReqType); - - while(!done) { - switch(grammarID) { - case 78: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress)] */ + case 1506: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -3573,17 +54126,17 @@ static int decode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDe if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - v2gPowerDeliveryReqType->ChargeProgress = (v2gchargeProgressType) uint32; + v2gAC_BidirectionalControlResType->EVSEProcessing = (v2gEVSEProcessingType) 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:2013:MsgBody}ChargeProgress) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 79; + grammarID = 1507; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -3595,32 +54148,14 @@ static int decode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDe } } break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID)] */ + case 1507: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower)] */ 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)); - v2gPowerDeliveryReqType->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:2013:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 80; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlResType->EVSETargetPower); + grammarID = 1508; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -3628,69 +54163,14 @@ static int decode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDe } } break; - case 80: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gChargingProfileType(stream, &v2gPowerDeliveryReqType->ChargingProfile); - v2gPowerDeliveryReqType->ChargingProfile_isUsed = 1u; - grammarID = 81; - break; - case 1: - errn = decode_v2gDC_EVPowerDeliveryParameterType(stream, &v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter); - v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 5; - break; - case 2: - errn = decode_v2gEVPowerDeliveryParameterType(stream, &v2gPowerDeliveryReqType->EVPowerDeliveryParameter); - v2gPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 5; - break; - case 3: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDC_EVPowerDeliveryParameterType(stream, &v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter); - v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 5; - break; - case 1: - errn = decode_v2gEVPowerDeliveryParameterType(stream, &v2gPowerDeliveryReqType->EVPowerDeliveryParameter); - v2gPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 1u; - grammarID = 5; - break; - case 2: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ + case 1508: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - done = 1; - grammarID = 1; + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlResType->EVSETargetReactivePower); + grammarID = 1509; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -3698,1196 +54178,9 @@ static int decode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDe } } break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":startValue,"urn:iso:15118:2:2013:MsgDataTypes":Cost{1-3})', derivedBy='RESTRICTION'. */ -static int decode_v2gConsumptionCostType(bitstream_t* stream, struct v2gConsumptionCostType* v2gConsumptionCostType) { - int grammarID = 82; - int done = 0; - - init_v2gConsumptionCostType(v2gConsumptionCostType); - - while(!done) { - switch(grammarID) { - case 82: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue)] */ + case 1509: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gConsumptionCostType->startValue); - grammarID = 83; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gConsumptionCostType->Cost.arrayLen < v2gConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array[v2gConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 84; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gConsumptionCostType->Cost.arrayLen < v2gConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array[v2gConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 85; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gConsumptionCostType->Cost.arrayLen < v2gConsumptionCostType_Cost_ARRAY_SIZE) { - errn = decode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array[v2gConsumptionCostType->Cost.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2013:MsgDataTypes":BulkSOC{0-1}))', derivedBy='EXTENSION'. */ -static int decode_v2gDC_EVChargeParameterType(bitstream_t* stream, struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType) { - int grammarID = 86; - int done = 0; - - init_v2gDC_EVChargeParameterType(v2gDC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 86: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - 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, &v2gDC_EVChargeParameterType->DepartureTime); - v2gDC_EVChargeParameterType->DepartureTime_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:2013:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 87; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_v2gDC_EVStatusType(stream, &v2gDC_EVChargeParameterType->DC_EVStatus); - grammarID = 88; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDC_EVStatusType(stream, &v2gDC_EVChargeParameterType->DC_EVStatus); - grammarID = 88; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumCurrentLimit); - grammarID = 89; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumPowerLimit); - v2gDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 90; - break; - case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 91; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumVoltageLimit); - grammarID = 91; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 91: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVEnergyCapacity); - v2gDC_EVChargeParameterType->EVEnergyCapacity_isUsed = 1u; - grammarID = 92; - break; - case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVEnergyRequest); - v2gDC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 93; - break; - case 2: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - v2gDC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - v2gDC_EVChargeParameterType->FullSOC_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:2013:MsgDataTypes}FullSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 94; - } 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)); - v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - v2gDC_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:2013:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVEnergyRequest); - v2gDC_EVChargeParameterType->EVEnergyRequest_isUsed = 1u; - grammarID = 93; - break; - case 1: - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - v2gDC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - v2gDC_EVChargeParameterType->FullSOC_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:2013:MsgDataTypes}FullSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 94; - } 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)); - v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - v2gDC_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:2013:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2013: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)); - v2gDC_EVChargeParameterType->FullSOC = (int8_t)(uint32 + 0); - v2gDC_EVChargeParameterType->FullSOC_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:2013:MsgDataTypes}FullSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 94; - } 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)); - v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - v2gDC_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:2013:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 94: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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)); - v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); - v2gDC_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:2013:MsgDataTypes}BulkSOC) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_v2gChargingProfileType(bitstream_t* stream, struct v2gChargingProfileType* v2gChargingProfileType) { - int grammarID = 95; - int done = 0; - - init_v2gChargingProfileType(v2gChargingProfileType); - - while(!done) { - switch(grammarID) { - case 95: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gChargingProfileType->ProfileEntry.arrayLen < v2gChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_v2gProfileEntryType(stream, &v2gChargingProfileType->ProfileEntry.array[v2gChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 96; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 96: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gChargingProfileType->ProfileEntry.arrayLen < v2gChargingProfileType_ProfileEntry_ARRAY_SIZE) { - errn = decode_v2gProfileEntryType(stream, &v2gChargingProfileType->ProfileEntry.array[v2gChargingProfileType->ProfileEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 96; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":SessionID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -static int decode_v2gMeteringReceiptReqType(bitstream_t* stream, struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType) { - int grammarID = 97; - int done = 0; - - init_v2gMeteringReceiptReqType(v2gMeteringReceiptReqType); - - while(!done) { - switch(grammarID) { - case 97: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gMeteringReceiptReqType->Id.charactersLen); - if (errn == 0) { - errn = (v2gMeteringReceiptReqType->Id.charactersLen - 2) <= v2gMeteringReceiptReqType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gMeteringReceiptReqType->Id.charactersLen >= 2) { - v2gMeteringReceiptReqType->Id.charactersLen = (uint16_t)(v2gMeteringReceiptReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gMeteringReceiptReqType->Id.charactersLen, v2gMeteringReceiptReqType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gMeteringReceiptReqType->Id_isUsed = 1u; - grammarID = 98; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gMeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (v2gMeteringReceiptReqType->SessionID.bytesLen) <= v2gMeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gMeteringReceiptReqType->SessionID.bytesLen, v2gMeteringReceiptReqType->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:2013:MsgBody}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 99; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 98: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gMeteringReceiptReqType->SessionID.bytesLen); - if (errn == 0) { - errn = (v2gMeteringReceiptReqType->SessionID.bytesLen) <= v2gMeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gMeteringReceiptReqType->SessionID.bytesLen, v2gMeteringReceiptReqType->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:2013:MsgBody}SessionID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 99; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2013: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)); - v2gMeteringReceiptReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); - v2gMeteringReceiptReqType->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:2013:MsgBody}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 100; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - errn = decode_v2gMeterInfoType(stream, &v2gMeteringReceiptReqType->MeterInfo); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gMeterInfoType(stream, &v2gMeteringReceiptReqType->MeterInfo); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":MaxEntriesSAScheduleTuple{0-1},"urn:iso:15118:2:2013:MsgBody":RequestedEnergyTransferMode,"urn:iso:15118:2:2013:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ -static int decode_v2gChargeParameterDiscoveryReqType(bitstream_t* stream, struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType) { - int grammarID = 101; - int done = 0; - - init_v2gChargeParameterDiscoveryReqType(v2gChargeParameterDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 101: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode)] */ - 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 = decodeUnsignedInteger16(stream, &v2gChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple); - v2gChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple_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:2013:MsgBody}MaxEntriesSAScheduleTuple) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 102; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - v2gChargeParameterDiscoveryReqType->RequestedEnergyTransferMode = (v2gEnergyTransferModeType) 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:2013:MsgBody}RequestedEnergyTransferMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 103; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode)] */ - 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, 3, &uint32); - v2gChargeParameterDiscoveryReqType->RequestedEnergyTransferMode = (v2gEnergyTransferModeType) 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:2013:MsgBody}RequestedEnergyTransferMode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 103; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 103: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gAC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter); - v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; - grammarID = 5; - break; - case 1: - errn = decode_v2gDC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter); - v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; - grammarID = 5; - break; - case 2: - errn = decode_v2gEVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->EVChargeParameter); - v2gChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 1u; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":BodyElement{0-1})', derivedBy='RESTRICTION'. */ -static int decode_v2gBodyType(bitstream_t* stream, struct v2gBodyType* v2gBodyType) { - int grammarID = 104; - int done = 0; - - init_v2gBodyType(v2gBodyType); - - while(!done) { - switch(grammarID) { - case 104: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gAuthorizationReqType(stream, &v2gBodyType->AuthorizationReq); - v2gBodyType->AuthorizationReq_isUsed = 1u; - grammarID = 5; - break; - case 1: - errn = decode_v2gAuthorizationResType(stream, &v2gBodyType->AuthorizationRes); - v2gBodyType->AuthorizationRes_isUsed = 1u; - grammarID = 5; - break; - case 2: - errn = decode_v2gBodyBaseType(stream, &v2gBodyType->BodyElement); - v2gBodyType->BodyElement_isUsed = 1u; - grammarID = 5; - break; - case 3: - errn = decode_v2gCableCheckReqType(stream, &v2gBodyType->CableCheckReq); - v2gBodyType->CableCheckReq_isUsed = 1u; - grammarID = 5; - break; - case 4: - errn = decode_v2gCableCheckResType(stream, &v2gBodyType->CableCheckRes); - v2gBodyType->CableCheckRes_isUsed = 1u; - grammarID = 5; - break; - case 5: - errn = decode_v2gCertificateInstallationReqType(stream, &v2gBodyType->CertificateInstallationReq); - v2gBodyType->CertificateInstallationReq_isUsed = 1u; - grammarID = 5; - break; - case 6: - errn = decode_v2gCertificateInstallationResType(stream, &v2gBodyType->CertificateInstallationRes); - v2gBodyType->CertificateInstallationRes_isUsed = 1u; - grammarID = 5; - break; - case 7: - errn = decode_v2gCertificateUpdateReqType(stream, &v2gBodyType->CertificateUpdateReq); - v2gBodyType->CertificateUpdateReq_isUsed = 1u; - grammarID = 5; - break; - case 8: - errn = decode_v2gCertificateUpdateResType(stream, &v2gBodyType->CertificateUpdateRes); - v2gBodyType->CertificateUpdateRes_isUsed = 1u; - grammarID = 5; - break; - case 9: - errn = decode_v2gChargeParameterDiscoveryReqType(stream, &v2gBodyType->ChargeParameterDiscoveryReq); - v2gBodyType->ChargeParameterDiscoveryReq_isUsed = 1u; - grammarID = 5; - break; - case 10: - errn = decode_v2gChargeParameterDiscoveryResType(stream, &v2gBodyType->ChargeParameterDiscoveryRes); - v2gBodyType->ChargeParameterDiscoveryRes_isUsed = 1u; - grammarID = 5; - break; - case 11: - errn = decode_v2gChargingStatusReqType(stream, &v2gBodyType->ChargingStatusReq); - v2gBodyType->ChargingStatusReq_isUsed = 1u; - grammarID = 5; - break; - case 12: - errn = decode_v2gChargingStatusResType(stream, &v2gBodyType->ChargingStatusRes); - v2gBodyType->ChargingStatusRes_isUsed = 1u; - grammarID = 5; - break; - case 13: - errn = decode_v2gCurrentDemandReqType(stream, &v2gBodyType->CurrentDemandReq); - v2gBodyType->CurrentDemandReq_isUsed = 1u; - grammarID = 5; - break; - case 14: - errn = decode_v2gCurrentDemandResType(stream, &v2gBodyType->CurrentDemandRes); - v2gBodyType->CurrentDemandRes_isUsed = 1u; - grammarID = 5; - break; - case 15: - errn = decode_v2gMeteringReceiptReqType(stream, &v2gBodyType->MeteringReceiptReq); - v2gBodyType->MeteringReceiptReq_isUsed = 1u; - grammarID = 5; - break; - case 16: - errn = decode_v2gMeteringReceiptResType(stream, &v2gBodyType->MeteringReceiptRes); - v2gBodyType->MeteringReceiptRes_isUsed = 1u; - grammarID = 5; - break; - case 17: - errn = decode_v2gPaymentDetailsReqType(stream, &v2gBodyType->PaymentDetailsReq); - v2gBodyType->PaymentDetailsReq_isUsed = 1u; - grammarID = 5; - break; - case 18: - errn = decode_v2gPaymentDetailsResType(stream, &v2gBodyType->PaymentDetailsRes); - v2gBodyType->PaymentDetailsRes_isUsed = 1u; - grammarID = 5; - break; - case 19: - errn = decode_v2gPaymentServiceSelectionReqType(stream, &v2gBodyType->PaymentServiceSelectionReq); - v2gBodyType->PaymentServiceSelectionReq_isUsed = 1u; - grammarID = 5; - break; - case 20: - errn = decode_v2gPaymentServiceSelectionResType(stream, &v2gBodyType->PaymentServiceSelectionRes); - v2gBodyType->PaymentServiceSelectionRes_isUsed = 1u; - grammarID = 5; - break; - case 21: - errn = decode_v2gPowerDeliveryReqType(stream, &v2gBodyType->PowerDeliveryReq); - v2gBodyType->PowerDeliveryReq_isUsed = 1u; - grammarID = 5; - break; - case 22: - errn = decode_v2gPowerDeliveryResType(stream, &v2gBodyType->PowerDeliveryRes); - v2gBodyType->PowerDeliveryRes_isUsed = 1u; - grammarID = 5; - break; - case 23: - errn = decode_v2gPreChargeReqType(stream, &v2gBodyType->PreChargeReq); - v2gBodyType->PreChargeReq_isUsed = 1u; - grammarID = 5; - break; - case 24: - errn = decode_v2gPreChargeResType(stream, &v2gBodyType->PreChargeRes); - v2gBodyType->PreChargeRes_isUsed = 1u; - grammarID = 5; - break; - case 25: - errn = decode_v2gServiceDetailReqType(stream, &v2gBodyType->ServiceDetailReq); - v2gBodyType->ServiceDetailReq_isUsed = 1u; - grammarID = 5; - break; - case 26: - errn = decode_v2gServiceDetailResType(stream, &v2gBodyType->ServiceDetailRes); - v2gBodyType->ServiceDetailRes_isUsed = 1u; - grammarID = 5; - break; - case 27: - errn = decode_v2gServiceDiscoveryReqType(stream, &v2gBodyType->ServiceDiscoveryReq); - v2gBodyType->ServiceDiscoveryReq_isUsed = 1u; - grammarID = 5; - break; - case 28: - errn = decode_v2gServiceDiscoveryResType(stream, &v2gBodyType->ServiceDiscoveryRes); - v2gBodyType->ServiceDiscoveryRes_isUsed = 1u; - grammarID = 5; - break; - case 29: - errn = decode_v2gSessionSetupReqType(stream, &v2gBodyType->SessionSetupReq); - v2gBodyType->SessionSetupReq_isUsed = 1u; - grammarID = 5; - break; - case 30: - errn = decode_v2gSessionSetupResType(stream, &v2gBodyType->SessionSetupRes); - v2gBodyType->SessionSetupRes_isUsed = 1u; - grammarID = 5; - break; - case 31: - errn = decode_v2gSessionStopReqType(stream, &v2gBodyType->SessionStopReq); - v2gBodyType->SessionStopReq_isUsed = 1u; - grammarID = 5; - break; - case 32: - errn = decode_v2gSessionStopResType(stream, &v2gBodyType->SessionStopRes); - v2gBodyType->SessionStopRes_isUsed = 1u; - grammarID = 5; - break; - case 33: - errn = decode_v2gWeldingDetectionReqType(stream, &v2gBodyType->WeldingDetectionReq); - v2gBodyType->WeldingDetectionReq_isUsed = 1u; - grammarID = 5; - break; - case 34: - errn = decode_v2gWeldingDetectionResType(stream, &v2gBodyType->WeldingDetectionRes); - v2gBodyType->WeldingDetectionRes_isUsed = 1u; - grammarID = 5; - break; - case 35: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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_v2gTransformsType(bitstream_t* stream, struct v2gTransformsType* v2gTransformsType) { - int grammarID = 105; - int done = 0; - - init_v2gTransformsType(v2gTransformsType); - - while(!done) { - switch(grammarID) { - case 105: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gTransformsType->Transform.arrayLen < v2gTransformsType_Transform_ARRAY_SIZE) { - errn = decode_v2gTransformType(stream, &v2gTransformsType->Transform.array[v2gTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 106; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 106: - /* 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 (v2gTransformsType->Transform.arrayLen < v2gTransformsType_Transform_ARRAY_SIZE) { - errn = decode_v2gTransformType(stream, &v2gTransformsType->Transform.array[v2gTransformsType->Transform.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 106; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gServiceDiscoveryReqType(bitstream_t* stream, struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType) { - int grammarID = 107; - int done = 0; - - init_v2gServiceDiscoveryReqType(v2gServiceDiscoveryReqType); - - while(!done) { - switch(grammarID) { - case 107: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: @@ -4895,162 +54188,26 @@ static int decode_v2gServiceDiscoveryReqType(bitstream_t* stream, struct v2gServ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gServiceDiscoveryReqType->ServiceScope.charactersLen); + errn = decodeUnsignedInteger16(stream, &v2gAC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { - errn = (v2gServiceDiscoveryReqType->ServiceScope.charactersLen - 2) <= v2gServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gServiceDiscoveryReqType->ServiceScope.charactersLen >= 2) { - v2gServiceDiscoveryReqType->ServiceScope.charactersLen = (uint16_t)(v2gServiceDiscoveryReqType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gServiceDiscoveryReqType->ServiceScope.charactersLen, v2gServiceDiscoveryReqType->ServiceScope.characters); + if (v2gAC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { + v2gAC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(v2gAC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gAC_BidirectionalControlResType->EVSEID.charactersLen, v2gAC_BidirectionalControlResType->EVSEID.characters, v2gAC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } - v2gServiceDiscoveryReqType->ServiceScope_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:2013:MsgBody}ServiceScope) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 108; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - v2gServiceDiscoveryReqType->ServiceCategory = (v2gserviceCategoryType) uint32; - v2gServiceDiscoveryReqType->ServiceCategory_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:2013:MsgBody}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 108: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), 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); - v2gServiceDiscoveryReqType->ServiceCategory = (v2gserviceCategoryType) uint32; - v2gServiceDiscoveryReqType->ServiceCategory_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:2013:MsgBody}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification)', derivedBy='RESTRICTION'. */ -static int decode_v2gEVSEStatusType(bitstream_t* stream, struct v2gEVSEStatusType* v2gEVSEStatusType) { - int grammarID = 109; - int done = 0; - - init_v2gEVSEStatusType(v2gEVSEStatusType); - - while(!done) { - switch(grammarID) { - case 109: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gEVSEStatusType->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:2013:MsgDataTypes}NotificationMaxDelay) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 110; + grammarID = 1510; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -5062,124 +54219,9 @@ static int decode_v2gEVSEStatusType(bitstream_t* stream, struct v2gEVSEStatusTyp } } break; - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, 2, &uint32); - v2gEVSEStatusType->EVSENotification = (v2gEVSENotificationType) 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:2013:MsgDataTypes}EVSENotification) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxPower,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxNumberOfPhasesInUse{0-1})', derivedBy='RESTRICTION'. */ -static int decode_v2gProfileEntryType(bitstream_t* stream, struct v2gProfileEntryType* v2gProfileEntryType) { - int grammarID = 111; - int done = 0; - - init_v2gProfileEntryType(v2gProfileEntryType); - - while(!done) { - switch(grammarID) { - case 111: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryStart)] */ - 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, &v2gProfileEntryType->ChargingProfileEntryStart); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryStart) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 112; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gProfileEntryType->ChargingProfileEntryMaxPower); - grammarID = 113; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + case 1510: + /* 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: @@ -5187,488 +54229,54 @@ static int decode_v2gProfileEntryType(bitstream_t* stream, struct v2gProfileEntr errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &(uint32)); - v2gProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse = (int8_t)(uint32 + 1); - v2gProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 1u; + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gAC_BidirectionalControlResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); + v2gAC_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:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 1511; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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_v2gKeyInfoType(bitstream_t* stream, struct v2gKeyInfoType* v2gKeyInfoType) { - int grammarID = 114; - int done = 0; - - init_v2gKeyInfoType(v2gKeyInfoType); - - while(!done) { - switch(grammarID) { - case 114: - /* 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, &v2gKeyInfoType->Id.charactersLen); - if (errn == 0) { - errn = (v2gKeyInfoType->Id.charactersLen - 2) <= v2gKeyInfoType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gKeyInfoType->Id.charactersLen >= 2) { - v2gKeyInfoType->Id.charactersLen = (uint16_t)(v2gKeyInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gKeyInfoType->Id.charactersLen, v2gKeyInfoType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gKeyInfoType->Id_isUsed = 1u; - grammarID = 115; - break; - case 1: - if (v2gKeyInfoType->KeyName.arrayLen < v2gKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2) <= v2gKeyInfoType_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gKeyInfoType->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 = 116; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gMeterInfoType(stream, &v2gAC_BidirectionalControlResType->MeterInfo); + v2gAC_BidirectionalControlResType->MeterInfo_isUsed = 1u; + grammarID = 1512; break; case 2: - if (v2gKeyInfoType->KeyValue.arrayLen < v2gKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array[v2gKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeBoolean(stream, &v2gAC_BidirectionalControlResType->ReceiptRequired); + v2gAC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } } - grammarID = 116; break; case 3: - if (v2gKeyInfoType->RetrievalMethod.arrayLen < v2gKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array[v2gKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 4: - if (v2gKeyInfoType->X509Data.arrayLen < v2gKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array[v2gKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 5: - if (v2gKeyInfoType->PGPData.arrayLen < v2gKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array[v2gKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 6: - if (v2gKeyInfoType->SPKIData.arrayLen < v2gKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array[v2gKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 7: - if (v2gKeyInfoType->MgmtData.arrayLen < v2gKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2) <= v2gKeyInfoType_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gKeyInfoType->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 = 116; - } 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 = 116; - break; - case 9: - grammarID = 117; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 115: - /* 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 (v2gKeyInfoType->KeyName.arrayLen < v2gKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2) <= v2gKeyInfoType_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gKeyInfoType->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 = 116; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (v2gKeyInfoType->KeyValue.arrayLen < v2gKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array[v2gKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 2: - if (v2gKeyInfoType->RetrievalMethod.arrayLen < v2gKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array[v2gKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 3: - if (v2gKeyInfoType->X509Data.arrayLen < v2gKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array[v2gKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 4: - if (v2gKeyInfoType->PGPData.arrayLen < v2gKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array[v2gKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 5: - if (v2gKeyInfoType->SPKIData.arrayLen < v2gKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array[v2gKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 6: - if (v2gKeyInfoType->MgmtData.arrayLen < v2gKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2) <= v2gKeyInfoType_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gKeyInfoType->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 = 116; - } 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 = 116; - break; - case 8: - grammarID = 117; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 116: - /* 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 (v2gKeyInfoType->KeyName.arrayLen < v2gKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2) <= v2gKeyInfoType_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gKeyInfoType->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 = 116; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - if (v2gKeyInfoType->KeyValue.arrayLen < v2gKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array[v2gKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 2: - if (v2gKeyInfoType->RetrievalMethod.arrayLen < v2gKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array[v2gKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 3: - if (v2gKeyInfoType->X509Data.arrayLen < v2gKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array[v2gKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 4: - if (v2gKeyInfoType->PGPData.arrayLen < v2gKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array[v2gKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 5: - if (v2gKeyInfoType->SPKIData.arrayLen < v2gKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array[v2gKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 6: - if (v2gKeyInfoType->MgmtData.arrayLen < v2gKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2) <= v2gKeyInfoType_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gKeyInfoType->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 = 116; - } 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 = 116; - break; - case 8: done = 1; - grammarID = 1; - break; - case 9: - grammarID = 116; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -5676,217 +54284,41 @@ static int decode_v2gKeyInfoType(bitstream_t* stream, struct v2gKeyInfoType* v2g } } break; - case 117: - /* 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); + case 1511: + /* 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: - if (v2gKeyInfoType->KeyName.arrayLen < v2gKeyInfoType_KeyName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2) <= v2gKeyInfoType_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { - v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gKeyInfoType->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 = 116; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gMeterInfoType(stream, &v2gAC_BidirectionalControlResType->MeterInfo); + v2gAC_BidirectionalControlResType->MeterInfo_isUsed = 1u; + grammarID = 1512; break; case 1: - if (v2gKeyInfoType->KeyValue.arrayLen < v2gKeyInfoType_KeyValue_ARRAY_SIZE) { - errn = decode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array[v2gKeyInfoType->KeyValue.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 2: - if (v2gKeyInfoType->RetrievalMethod.arrayLen < v2gKeyInfoType_RetrievalMethod_ARRAY_SIZE) { - errn = decode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array[v2gKeyInfoType->RetrievalMethod.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 3: - if (v2gKeyInfoType->X509Data.arrayLen < v2gKeyInfoType_X509Data_ARRAY_SIZE) { - errn = decode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array[v2gKeyInfoType->X509Data.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 4: - if (v2gKeyInfoType->PGPData.arrayLen < v2gKeyInfoType_PGPData_ARRAY_SIZE) { - errn = decode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array[v2gKeyInfoType->PGPData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 5: - if (v2gKeyInfoType->SPKIData.arrayLen < v2gKeyInfoType_SPKIData_ARRAY_SIZE) { - errn = decode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array[v2gKeyInfoType->SPKIData.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 116; - break; - case 6: - if (v2gKeyInfoType->MgmtData.arrayLen < v2gKeyInfoType_MgmtData_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2) <= v2gKeyInfoType_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { - v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gKeyInfoType->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 = 116; - } 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 = 116; - break; - case 8: - grammarID = 117; - 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:2013:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgHeader":SessionID,"urn:iso:15118:2:2013:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -static int decode_v2gMessageHeaderType(bitstream_t* stream, struct v2gMessageHeaderType* v2gMessageHeaderType) { - int grammarID = 118; - int done = 0; - - init_v2gMessageHeaderType(v2gMessageHeaderType); - - while(!done) { - switch(grammarID) { - case 118: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gMessageHeaderType->SessionID.bytesLen); - if (errn == 0) { - errn = (v2gMessageHeaderType->SessionID.bytesLen) <= v2gMessageHeaderType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gMessageHeaderType->SessionID.bytesLen, v2gMessageHeaderType->SessionID.bytes); - } + errn = decodeBoolean(stream, &v2gAC_BidirectionalControlResType->ReceiptRequired); + v2gAC_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:2013:MsgHeader}SessionID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 119; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 119: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}Notification), 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_v2gNotificationType(stream, &v2gMessageHeaderType->Notification); - v2gMessageHeaderType->Notification_isUsed = 1u; - grammarID = 120; - break; - case 1: - errn = decode_v2gSignatureType(stream, &v2gMessageHeaderType->Signature); - v2gMessageHeaderType->Signature_isUsed = 1u; - grammarID = 5; - break; case 2: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -5894,1063 +54326,28 @@ static int decode_v2gMessageHeaderType(bitstream_t* stream, struct v2gMessageHea } } break; - case 120: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ + case 1512: + /* Element[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_v2gSignatureType(stream, &v2gMessageHeaderType->Signature); - v2gMessageHeaderType->Signature_isUsed = 1u; - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -static int decode_v2gServiceDetailReqType(bitstream_t* stream, struct v2gServiceDetailReqType* v2gServiceDetailReqType) { - int grammarID = 121; - int done = 0; - - init_v2gServiceDetailReqType(v2gServiceDetailReqType); - - while(!done) { - switch(grammarID) { - case 121: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gServiceDetailReqType->ServiceID); + errn = decodeBoolean(stream, &v2gAC_BidirectionalControlResType->ReceiptRequired); + v2gAC_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:2013:MsgBody}ServiceID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaxCurrent)', derivedBy='EXTENSION'. */ -static int decode_v2gAC_EVSEChargeParameterType(bitstream_t* stream, struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType) { - int grammarID = 122; - int done = 0; - - init_v2gAC_EVSEChargeParameterType(v2gAC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 122: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gAC_EVSEStatusType(stream, &v2gAC_EVSEChargeParameterType->AC_EVSEStatus); - grammarID = 123; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 123: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSENominalVoltage); - grammarID = 124; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 124: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSEMaxCurrent); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -static int decode_v2gCertificateUpdateReqType(bitstream_t* stream, struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType) { - int grammarID = 125; - int done = 0; - - init_v2gCertificateUpdateReqType(v2gCertificateUpdateReqType); - - while(!done) { - switch(grammarID) { - case 125: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gCertificateUpdateReqType->Id.charactersLen); - if (errn == 0) { - errn = (v2gCertificateUpdateReqType->Id.charactersLen - 2) <= v2gCertificateUpdateReqType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gCertificateUpdateReqType->Id.charactersLen >= 2) { - v2gCertificateUpdateReqType->Id.charactersLen = (uint16_t)(v2gCertificateUpdateReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gCertificateUpdateReqType->Id.charactersLen, v2gCertificateUpdateReqType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 126; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 126: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gCertificateChainType(stream, &v2gCertificateUpdateReqType->ContractSignatureCertChain); - grammarID = 127; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 127: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gCertificateUpdateReqType->eMAID.charactersLen); - if (errn == 0) { - errn = (v2gCertificateUpdateReqType->eMAID.charactersLen - 2) <= v2gCertificateUpdateReqType_eMAID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gCertificateUpdateReqType->eMAID.charactersLen >= 2) { - v2gCertificateUpdateReqType->eMAID.charactersLen = (uint16_t)(v2gCertificateUpdateReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gCertificateUpdateReqType->eMAID.charactersLen, v2gCertificateUpdateReqType->eMAID.characters); - } 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:2013:MsgBody}eMAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 128; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gListOfRootCertificateIDsType(stream, &v2gCertificateUpdateReqType->ListOfRootCertificateIDs); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -static int decode_v2gPhysicalValueType(bitstream_t* stream, struct v2gPhysicalValueType* v2gPhysicalValueType) { - int grammarID = 129; - int done = 0; - - init_v2gPhysicalValueType(v2gPhysicalValueType); - - while(!done) { - switch(grammarID) { - case 129: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Multiplier)] */ - 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)); - v2gPhysicalValueType->Multiplier = (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:2013:MsgDataTypes}Multiplier) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 130; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 130: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Unit)] */ - 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, 3, &uint32); - v2gPhysicalValueType->Unit = (v2gunitSymbolType) 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:2013:MsgDataTypes}Unit) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 131; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 131: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gPhysicalValueType->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:2013:MsgDataTypes}Value) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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_v2gX509IssuerSerialType(bitstream_t* stream, struct v2gX509IssuerSerialType* v2gX509IssuerSerialType) { - int grammarID = 132; - int done = 0; - - init_v2gX509IssuerSerialType(v2gX509IssuerSerialType); - - while(!done) { - switch(grammarID) { - case 132: - /* 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, &v2gX509IssuerSerialType->X509IssuerName.charactersLen); - if (errn == 0) { - errn = (v2gX509IssuerSerialType->X509IssuerName.charactersLen - 2) <= v2gX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gX509IssuerSerialType->X509IssuerName.charactersLen >= 2) { - v2gX509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(v2gX509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gX509IssuerSerialType->X509IssuerName.charactersLen, v2gX509IssuerSerialType->X509IssuerName.characters); - } 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 = 133; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 133: - /* 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, &v2gX509IssuerSerialType->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 = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_v2gListOfRootCertificateIDsType(bitstream_t* stream, struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType) { - int grammarID = 134; - int done = 0; - - init_v2gListOfRootCertificateIDsType(v2gListOfRootCertificateIDsType); - - while(!done) { - switch(grammarID) { - case 134: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 135; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen < v2gListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { - errn = decode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array[v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 135; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":PaymentOptionList,"urn:iso:15118:2:2013:MsgBody":ChargeService,"urn:iso:15118:2:2013:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gServiceDiscoveryResType(bitstream_t* stream, struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType) { - int grammarID = 136; - int done = 0; - - init_v2gServiceDiscoveryResType(v2gServiceDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 136: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gServiceDiscoveryResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 137; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 137: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPaymentOptionListType(stream, &v2gServiceDiscoveryResType->PaymentOptionList); - grammarID = 138; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gChargeServiceType(stream, &v2gServiceDiscoveryResType->ChargeService); - grammarID = 139; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gServiceListType(stream, &v2gServiceDiscoveryResType->ServiceList); - v2gServiceDiscoveryResType->ServiceList_isUsed = 1u; - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -static int decode_v2gPaymentDetailsReqType(bitstream_t* stream, struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType) { - int grammarID = 140; - int done = 0; - - init_v2gPaymentDetailsReqType(v2gPaymentDetailsReqType); - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gPaymentDetailsReqType->eMAID.charactersLen); - if (errn == 0) { - errn = (v2gPaymentDetailsReqType->eMAID.charactersLen - 2) <= v2gPaymentDetailsReqType_eMAID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gPaymentDetailsReqType->eMAID.charactersLen >= 2) { - v2gPaymentDetailsReqType->eMAID.charactersLen = (uint16_t)(v2gPaymentDetailsReqType->eMAID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gPaymentDetailsReqType->eMAID.charactersLen, v2gPaymentDetailsReqType->eMAID.characters); - } 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:2013:MsgBody}eMAID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 141; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 141: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gCertificateChainType(stream, &v2gPaymentDetailsReqType->ContractSignatureCertChain); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ -static int decode_v2gPMaxScheduleEntryType(bitstream_t* stream, struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType) { - int grammarID = 142; - int done = 0; - - init_v2gPMaxScheduleEntryType(v2gPMaxScheduleEntryType); - - while(!done) { - switch(grammarID) { - case 142: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gRelativeTimeIntervalType(stream, &v2gPMaxScheduleEntryType->RelativeTimeInterval); - v2gPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 143; - break; - case 1: - errn = decode_v2gIntervalType(stream, &v2gPMaxScheduleEntryType->TimeInterval); - v2gPMaxScheduleEntryType->TimeInterval_isUsed = 1u; - grammarID = 143; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gPMaxScheduleEntryType->PMax); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":RetryCounter{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCertificateUpdateResType* v2gCertificateUpdateResType) { - int grammarID = 144; - int done = 0; - - init_v2gCertificateUpdateResType(v2gCertificateUpdateResType); - - while(!done) { - switch(grammarID) { - case 144: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gCertificateUpdateResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 145; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 145: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->SAProvisioningCertificateChain); - grammarID = 146; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->ContractSignatureCertChain); - grammarID = 147; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 147: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gContractSignatureEncryptedPrivateKeyType(stream, &v2gCertificateUpdateResType->ContractSignatureEncryptedPrivateKey); - grammarID = 148; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDiffieHellmanPublickeyType(stream, &v2gCertificateUpdateResType->DHpublickey); - grammarID = 149; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gEMAIDType(stream, &v2gCertificateUpdateResType->eMAID); - grammarID = 150; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gCertificateUpdateResType->RetryCounter); - v2gCertificateUpdateResType->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:2013:MsgBody}RetryCounter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -6958,7 +54355,7 @@ static int decode_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCer break; case 1: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -6966,207 +54363,14 @@ static int decode_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCer } } break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; - 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:2013:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID)', derivedBy='EXTENSION'. */ -static int decode_v2gCertificateInstallationResType(bitstream_t* stream, struct v2gCertificateInstallationResType* v2gCertificateInstallationResType) { - int grammarID = 151; - int done = 0; - - init_v2gCertificateInstallationResType(v2gCertificateInstallationResType); - - while(!done) { - switch(grammarID) { - case 151: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gCertificateInstallationResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 152; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 152: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gCertificateChainType(stream, &v2gCertificateInstallationResType->SAProvisioningCertificateChain); - grammarID = 153; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gCertificateChainType(stream, &v2gCertificateInstallationResType->ContractSignatureCertChain); - grammarID = 154; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gContractSignatureEncryptedPrivateKeyType(stream, &v2gCertificateInstallationResType->ContractSignatureEncryptedPrivateKey); - grammarID = 155; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDiffieHellmanPublickeyType(stream, &v2gCertificateInstallationResType->DHpublickey); - grammarID = 156; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gEMAIDType(stream, &v2gCertificateInstallationResType->eMAID); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int decode_v2gCableCheckReqType(bitstream_t* stream, struct v2gCableCheckReqType* v2gCableCheckReqType) { - int grammarID = 157; - int done = 0; - - init_v2gCableCheckReqType(v2gCableCheckReqType); - - while(!done) { - switch(grammarID) { - case 157: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDC_EVStatusType(stream, &v2gCableCheckReqType->DC_EVStatus); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -7187,14 +54391,14 @@ static int decode_v2gCableCheckReqType(bitstream_t* stream, struct v2gCableCheck /* 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_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2gPGPDataType) { - int grammarID = 158; + int grammarID = 1513; int done = 0; init_v2gPGPDataType(v2gPGPDataType); while(!done) { switch(grammarID) { - case 158: + case 1513: /* 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) { @@ -7221,7 +54425,7 @@ static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2g /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 159; + grammarID = 1514; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -7249,7 +54453,7 @@ static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2g /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 160; + grammarID = 1515; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -7261,7 +54465,7 @@ static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2g } } break; - case 159: + case 1514: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { @@ -7288,7 +54492,7 @@ static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2g /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 160; + grammarID = 1515; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -7297,11 +54501,11 @@ static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2g case 1: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 160; + grammarID = 1515; break; case 2: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -7309,7 +54513,7 @@ static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2g } } break; - case 160: + case 1515: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { @@ -7317,11 +54521,11 @@ static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2g case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 160; + grammarID = 1515; break; case 1: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -7340,27 +54544,41 @@ static int decode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2g return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_v2gServiceParameterListType(bitstream_t* stream, struct v2gServiceParameterListType* v2gServiceParameterListType) { - int grammarID = 161; +/* 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_v2gSystemStatusResType(bitstream_t* stream, struct v2gSystemStatusResType* v2gSystemStatusResType) { + int grammarID = 1516; int done = 0; - init_v2gServiceParameterListType(v2gServiceParameterListType); + init_v2gSystemStatusResType(v2gSystemStatusResType); while(!done) { switch(grammarID) { - case 161: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet)] */ + case 1516: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - if (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 5, &uint32); + v2gSystemStatusResType->ResponseCode = (v2gresponseCodeType) 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 = 1517; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } } - grammarID = 162; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -7368,22 +54586,37 @@ static int decode_v2gServiceParameterListType(bitstream_t* stream, struct v2gSer } } break; - case 162: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet), END_ELEMENT] */ + case 1517: + /* 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: - if (v2gServiceParameterListType->ParameterSet.arrayLen < v2gServiceParameterListType_ParameterSet_ARRAY_SIZE) { - errn = decode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array[v2gServiceParameterListType->ParameterSet.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 162; + errn = decode_v2gEVSEStatusType(stream, &v2gSystemStatusResType->EVSEStatus); + v2gSystemStatusResType->EVSEStatus_isUsed = 1u; + grammarID = 1518; break; case 1: - done = 1; - grammarID = 1; + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 1, &uint32); + v2gSystemStatusResType->OperationMode = (v2goperationModeType) 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 = 1519; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -7391,28 +54624,8 @@ static int decode_v2gServiceParameterListType(bitstream_t* stream, struct v2gSer } } break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ChargingSession)', derivedBy='EXTENSION'. */ -static int decode_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionStopReqType* v2gSessionStopReqType) { - int grammarID = 163; - int done = 0; - - init_v2gSessionStopReqType(v2gSessionStopReqType); - - while(!done) { - switch(grammarID) { - case 163: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingSession)] */ + case 1518: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -7422,17 +54635,17 @@ static int decode_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionSt if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); - v2gSessionStopReqType->ChargingSession = (v2gchargingSessionType) uint32; + v2gSystemStatusResType->OperationMode = (v2goperationModeType) 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:2013:MsgBody}ChargingSession) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 1519; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -7444,719 +54657,8 @@ static int decode_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionSt } } break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_v2gSASchedulesType(bitstream_t* stream, struct v2gSASchedulesType* v2gSASchedulesType) { - int grammarID = 0; - int done = 0; - - init_v2gSASchedulesType(v2gSASchedulesType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int decode_v2gWeldingDetectionReqType(bitstream_t* stream, struct v2gWeldingDetectionReqType* v2gWeldingDetectionReqType) { - int grammarID = 157; - int done = 0; - - init_v2gWeldingDetectionReqType(v2gWeldingDetectionReqType); - - while(!done) { - switch(grammarID) { - case 157: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDC_EVStatusType(stream, &v2gWeldingDetectionReqType->DC_EVStatus); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_v2gDiffieHellmanPublickeyType(bitstream_t* stream, struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType) { - int grammarID = 57; - int done = 0; - - init_v2gDiffieHellmanPublickeyType(v2gDiffieHellmanPublickeyType); - - while(!done) { - switch(grammarID) { - case 57: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gDiffieHellmanPublickeyType->Id.charactersLen); - if (errn == 0) { - errn = (v2gDiffieHellmanPublickeyType->Id.charactersLen - 2) <= v2gDiffieHellmanPublickeyType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gDiffieHellmanPublickeyType->Id.charactersLen >= 2) { - v2gDiffieHellmanPublickeyType->Id.charactersLen = (uint16_t)(v2gDiffieHellmanPublickeyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gDiffieHellmanPublickeyType->Id.charactersLen, v2gDiffieHellmanPublickeyType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 58; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gDiffieHellmanPublickeyType->CONTENT.bytesLen); - if (errn == 0) { - errn = (v2gDiffieHellmanPublickeyType->CONTENT.bytesLen) <= v2gDiffieHellmanPublickeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gDiffieHellmanPublickeyType->CONTENT.bytesLen, v2gDiffieHellmanPublickeyType->CONTENT.bytes); - } - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -static int decode_v2gSessionSetupReqType(bitstream_t* stream, struct v2gSessionSetupReqType* v2gSessionSetupReqType) { - int grammarID = 164; - int done = 0; - - init_v2gSessionSetupReqType(v2gSessionSetupReqType); - - while(!done) { - switch(grammarID) { - case 164: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gSessionSetupReqType->EVCCID.bytesLen); - if (errn == 0) { - errn = (v2gSessionSetupReqType->EVCCID.bytesLen) <= v2gSessionSetupReqType_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gSessionSetupReqType->EVCCID.bytesLen, v2gSessionSetupReqType->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:2013:MsgBody}EVCCID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2013:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgBody":ChargingComplete,"urn:iso:15118:2:2013:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2013:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ -static int decode_v2gCurrentDemandReqType(bitstream_t* stream, struct v2gCurrentDemandReqType* v2gCurrentDemandReqType) { - int grammarID = 165; - int done = 0; - - init_v2gCurrentDemandReqType(v2gCurrentDemandReqType); - - while(!done) { - switch(grammarID) { - case 165: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDC_EVStatusType(stream, &v2gCurrentDemandReqType->DC_EVStatus); - grammarID = 166; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent); - grammarID = 167; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 167: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumVoltageLimit); - v2gCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 1u; - grammarID = 168; - break; - case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumCurrentLimit); - v2gCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 169; - break; - case 2: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPowerLimit); - v2gCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 170; - break; - case 3: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &v2gCurrentDemandReqType->BulkChargingComplete); - v2gCurrentDemandReqType->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:2013:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 171; - } 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, &v2gCurrentDemandReqType->ChargingComplete); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 172; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumCurrentLimit); - v2gCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 1u; - grammarID = 169; - break; - case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPowerLimit); - v2gCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 170; - break; - case 2: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &v2gCurrentDemandReqType->BulkChargingComplete); - v2gCurrentDemandReqType->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:2013:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 171; - } 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, &v2gCurrentDemandReqType->ChargingComplete); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 172; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPowerLimit); - v2gCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 1u; - grammarID = 170; - break; - case 1: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &v2gCurrentDemandReqType->BulkChargingComplete); - v2gCurrentDemandReqType->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:2013:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 171; - } 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, &v2gCurrentDemandReqType->ChargingComplete); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 172; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 170: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - 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, &v2gCurrentDemandReqType->BulkChargingComplete); - v2gCurrentDemandReqType->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:2013:MsgBody}BulkChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 171; - } 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, &v2gCurrentDemandReqType->ChargingComplete); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 172; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 171: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - 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, &v2gCurrentDemandReqType->ChargingComplete); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 172; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 172: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->RemainingTimeToFullSoC); - v2gCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 1u; - grammarID = 173; - break; - case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->RemainingTimeToBulkSoC); - v2gCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 174; - break; - case 2: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetVoltage); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 173: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->RemainingTimeToBulkSoC); - v2gCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 1u; - grammarID = 174; - break; - case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetVoltage); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetVoltage); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ -static int decode_v2gDC_EVStatusType(bitstream_t* stream, struct v2gDC_EVStatusType* v2gDC_EVStatusType) { - int grammarID = 175; - int done = 0; - - init_v2gDC_EVStatusType(v2gDC_EVStatusType); - - while(!done) { - switch(grammarID) { - case 175: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVReady)] */ - 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, &v2gDC_EVStatusType->EVReady); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVReady) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 176; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 176: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode)] */ + case 1519: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -8165,18 +54667,18 @@ static int decode_v2gDC_EVStatusType(bitstream_t* stream, struct v2gDC_EVStatusT errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - v2gDC_EVStatusType->EVErrorCode = (v2gDC_EVErrorCodeType) uint32; + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gSystemStatusResType->EVSEMechanicalChargingDeviceStatus = (v2gmechanicalChargingDeviceStatusType) 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:2013:MsgDataTypes}EVErrorCode) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 177; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8188,8 +54690,674 @@ static int decode_v2gDC_EVStatusType(bitstream_t* stream, struct v2gDC_EVStatusT } } break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVRESSSOC)] */ + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCertificateUpdateResType* v2gCertificateUpdateResType) { + int grammarID = 1520; + int done = 0; + + init_v2gCertificateUpdateResType(v2gCertificateUpdateResType); + + while(!done) { + switch(grammarID) { + case 1520: + /* 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); + v2gCertificateUpdateResType->ResponseCode = (v2gresponseCodeType) 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 = 1521; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1521: + /* 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_v2gEVSEStatusType(stream, &v2gCertificateUpdateResType->EVSEStatus); + v2gCertificateUpdateResType->EVSEStatus_isUsed = 1u; + grammarID = 1522; + break; + case 1: + errn = decode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->SAProvisioningCertificateChain); + grammarID = 1523; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1522: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->SAProvisioningCertificateChain); + grammarID = 1523; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1523: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->ContractSignatureCertChain); + grammarID = 1524; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1524: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gContractSignatureEncryptedPrivateKeyType(stream, &v2gCertificateUpdateResType->ContractSignatureEncryptedPrivateKey); + grammarID = 1525; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1525: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gDiffieHellmanPublickeyType(stream, &v2gCertificateUpdateResType->DHpublickey); + grammarID = 1526; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1526: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gEMAIDType(stream, &v2gCertificateUpdateResType->eMAID); + grammarID = 1527; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1527: + /* 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, &v2gCertificateUpdateResType->RetryCounter); + v2gCertificateUpdateResType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gParameterSetType(bitstream_t* stream, struct v2gParameterSetType* v2gParameterSetType) { + int grammarID = 1528; + int done = 0; + + init_v2gParameterSetType(v2gParameterSetType); + + while(!done) { + switch(grammarID) { + case 1528: + /* 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, &v2gParameterSetType->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 = 1529; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1529: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1530; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1530: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1531; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1531: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1532; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1532: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1533; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1533: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1534; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1534: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1535; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1535: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1536; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1536: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1537; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1537: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1538; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1538: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1539; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1539: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1540; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1540: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1541; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1541: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1542; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1542: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1543; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1543: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1544; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1544: + /* 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 (v2gParameterSetType->Parameter.arrayLen < v2gParameterSetType_Parameter_ARRAY_SIZE) { + errn = decode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array[v2gParameterSetType->Parameter.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSAScheduleTupleType(bitstream_t* stream, struct v2gSAScheduleTupleType* v2gSAScheduleTupleType) { + int grammarID = 1545; + int done = 0; + + init_v2gSAScheduleTupleType(v2gSAScheduleTupleType); + + while(!done) { + switch(grammarID) { + case 1545: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -8198,18 +55366,18 @@ static int decode_v2gDC_EVStatusType(bitstream_t* stream, struct v2gDC_EVStatusT errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - v2gDC_EVStatusType->EVRESSSOC = (int8_t)(uint32 + 0); + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gSAScheduleTupleType->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:2013:MsgDataTypes}EVRESSSOC) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 1546; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8221,14 +55389,104 @@ static int decode_v2gDC_EVStatusType(bitstream_t* stream, struct v2gDC_EVStatusT } } break; - case 5: + case 1546: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPMaxScheduleType(stream, &v2gSAScheduleTupleType->PMaxSchedule); + grammarID = 1547; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1547: + /* 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_v2gPMaxScheduleType(stream, &v2gSAScheduleTupleType->PMaxDischargeSchedule); + v2gSAScheduleTupleType->PMaxDischargeSchedule_isUsed = 1u; + grammarID = 1548; + break; + case 1: + errn = decode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->SalesTariff); + v2gSAScheduleTupleType->SalesTariff_isUsed = 1u; + grammarID = 1549; + break; + case 2: + errn = decode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->BuyBackTariff); + v2gSAScheduleTupleType->BuyBackTariff_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1548: + /* 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_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->SalesTariff); + v2gSAScheduleTupleType->SalesTariff_isUsed = 1u; + grammarID = 1549; + break; + case 1: + errn = decode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->BuyBackTariff); + v2gSAScheduleTupleType->BuyBackTariff_isUsed = 1u; + grammarID = 2; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1549: + /* 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_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->BuyBackTariff); + v2gSAScheduleTupleType->BuyBackTariff_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -8249,14 +55507,14 @@ static int decode_v2gDC_EVStatusType(bitstream_t* stream, struct v2gDC_EVStatusT /* 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_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueType* v2gDSAKeyValueType) { - int grammarID = 178; + int grammarID = 1550; int done = 0; init_v2gDSAKeyValueType(v2gDSAKeyValueType); while(!done) { switch(grammarID) { - case 178: + case 1550: /* 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) { @@ -8283,7 +55541,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 179; + grammarID = 1551; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8311,7 +55569,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 180; + grammarID = 1552; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8338,7 +55596,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 181; + grammarID = 1553; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8350,7 +55608,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT } } break; - case 179: + case 1551: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { @@ -8377,7 +55635,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 182; + grammarID = 1554; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8389,7 +55647,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT } } break; - case 182: + case 1554: /* 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) { @@ -8416,7 +55674,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 180; + grammarID = 1552; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8443,7 +55701,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 181; + grammarID = 1553; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8455,7 +55713,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT } } break; - case 180: + case 1552: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { @@ -8481,7 +55739,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 181; + grammarID = 1553; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8493,7 +55751,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT } } break; - case 181: + case 1553: /* 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) { @@ -8520,7 +55778,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 183; + grammarID = 1555; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8548,7 +55806,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 184; + grammarID = 1556; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8556,7 +55814,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT break; case 2: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -8564,7 +55822,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT } } break; - case 183: + case 1555: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { @@ -8591,7 +55849,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 184; + grammarID = 1556; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8599,7 +55857,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT break; case 1: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -8607,7 +55865,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT } } break; - case 184: + case 1556: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { @@ -8634,7 +55892,7 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8646,14 +55904,14 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT } } break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -8672,17 +55930,43183 @@ static int decode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueT return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2013:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ +/* 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_v2gMagneticVectorType(bitstream_t* stream, struct v2gMagneticVectorType* v2gMagneticVectorType) { + int grammarID = 1557; + int done = 0; + + init_v2gMagneticVectorType(v2gMagneticVectorType); + + while(!done) { + switch(grammarID) { + case 1557: + /* 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, &v2gMagneticVectorType->GAID.charactersLen); + if (errn == 0) { + if (v2gMagneticVectorType->GAID.charactersLen >= 2) { + v2gMagneticVectorType->GAID.charactersLen = (uint16_t)(v2gMagneticVectorType->GAID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gMagneticVectorType->GAID.charactersLen, v2gMagneticVectorType->GAID.characters, v2gMagneticVectorType_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 = 1558; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1558: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gMagneticVectorType->Distance); + grammarID = 1559; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1559: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gMagneticVectorType->AngleGAtoVA); + grammarID = 1560; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1560: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gMagneticVectorType->RotationVAtoGA); + grammarID = 1561; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1561: + /* 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); + v2gMagneticVectorType->FODStatus = (v2gFODStatusType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gServiceIDListType(bitstream_t* stream, struct v2gServiceIDListType* v2gServiceIDListType) { + int grammarID = 1562; + int done = 0; + + init_v2gServiceIDListType(v2gServiceIDListType); + + while(!done) { + switch(grammarID) { + case 1562: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 1563; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1563: + /* 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 (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 1564; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1564: + /* 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 (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 1565; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1565: + /* 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 (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 1566; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1566: + /* 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 (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 1567; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1567: + /* 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 (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 1568; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1568: + /* 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 (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 1569; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1569: + /* 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 (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 1570; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1570: + /* 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 (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 1571; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1571: + /* 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 (v2gServiceIDListType->ServiceID.arrayLen < v2gServiceIDListType_ServiceID_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceIDListType->ServiceID.array[v2gServiceIDListType->ServiceID.arrayLen]); + v2gServiceIDListType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gX509DataType(bitstream_t* stream, struct v2gX509DataType* v2gX509DataType) { + int grammarID = 1572; + int done = 0; + + init_v2gX509DataType(v2gX509DataType); + + while(!done) { + switch(grammarID) { + case 1572: + /* 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 (v2gX509DataType->X509IssuerSerial.arrayLen < v2gX509DataType_X509IssuerSerial_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gX509DataType->X509IssuerSerial.array[v2gX509DataType->X509IssuerSerial.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1573; + break; + case 1: + if (v2gX509DataType->X509SKI.arrayLen < v2gX509DataType_X509SKI_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen) <= v2gX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen, v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytes); + } + v2gX509DataType->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 = 1573; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + if (v2gX509DataType->X509SubjectName.arrayLen < v2gX509DataType_X509SubjectName_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen); + if (errn == 0) { + if (v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { + v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen, v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].characters, v2gX509DataType_X509SubjectName_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gX509DataType->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 = 1573; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + if (v2gX509DataType->X509Certificate.arrayLen < v2gX509DataType_X509Certificate_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen) <= v2gX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen, v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytes); + } + v2gX509DataType->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 = 1573; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 4: + if (v2gX509DataType->X509CRL.arrayLen < v2gX509DataType_X509CRL_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen) <= v2gX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen, v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytes); + } + v2gX509DataType->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 = 1573; + } 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 = 1573; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1573: + /* 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 (v2gX509DataType->X509IssuerSerial.arrayLen < v2gX509DataType_X509IssuerSerial_ARRAY_SIZE) { + errn = decode_v2gX509IssuerSerialType(stream, &v2gX509DataType->X509IssuerSerial.array[v2gX509DataType->X509IssuerSerial.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1573; + break; + case 1: + if (v2gX509DataType->X509SKI.arrayLen < v2gX509DataType_X509SKI_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen) <= v2gX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen, v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytes); + } + v2gX509DataType->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 = 1573; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + if (v2gX509DataType->X509SubjectName.arrayLen < v2gX509DataType_X509SubjectName_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen); + if (errn == 0) { + if (v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { + v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen, v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].characters, v2gX509DataType_X509SubjectName_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gX509DataType->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 = 1573; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + if (v2gX509DataType->X509Certificate.arrayLen < v2gX509DataType_X509Certificate_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen) <= v2gX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen, v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytes); + } + v2gX509DataType->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 = 1573; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 4: + if (v2gX509DataType->X509CRL.arrayLen < v2gX509DataType_X509CRL_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen); + if (errn == 0) { + errn = (v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen) <= v2gX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen, v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytes); + } + v2gX509DataType->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 = 1573; + } 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 = 1573; + break; + case 6: + done = 1; + grammarID = 3; + 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_v2gEVEnergyTransferParameterType(bitstream_t* stream, struct v2gEVEnergyTransferParameterType* v2gEVEnergyTransferParameterType) { + int grammarID = 1574; + int done = 0; + + init_v2gEVEnergyTransferParameterType(v2gEVEnergyTransferParameterType); + + while(!done) { + switch(grammarID) { + case 1574: + /* 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, &v2gEVEnergyTransferParameterType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeResType* v2gPreChargeResType) { + int grammarID = 1575; + int done = 0; + + init_v2gPreChargeResType(v2gPreChargeResType); + + while(!done) { + switch(grammarID) { + case 1575: + /* 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); + v2gPreChargeResType->ResponseCode = (v2gresponseCodeType) 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 = 1576; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1576: + /* 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_v2gEVSEStatusType(stream, &v2gPreChargeResType->EVSEStatus); + v2gPreChargeResType->EVSEStatus_isUsed = 1u; + grammarID = 1577; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gPreChargeResType->EVSEPresentVoltage); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1577: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gPreChargeResType->EVSEPresentVoltage); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gFinePositioningResType(bitstream_t* stream, struct v2gFinePositioningResType* v2gFinePositioningResType) { + int grammarID = 1578; + int done = 0; + + init_v2gFinePositioningResType(v2gFinePositioningResType); + + while(!done) { + switch(grammarID) { + case 1578: + /* 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); + v2gFinePositioningResType->ResponseCode = (v2gresponseCodeType) 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 = 1579; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1579: + /* 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_v2gEVSEStatusType(stream, &v2gFinePositioningResType->EVSEStatus); + v2gFinePositioningResType->EVSEStatus_isUsed = 1u; + grammarID = 1580; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gFinePositioningResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 1581; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1580: + /* 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); + v2gFinePositioningResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 1581; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1581: + /* 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}LF_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_v2gEVSEFinePositioningParametersType(stream, &v2gFinePositioningResType->EVSEFinePositioningParameters); + v2gFinePositioningResType->EVSEFinePositioningParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + errn = decode_v2gGeneric_EVSEFinePositioningParametersType(stream, &v2gFinePositioningResType->Generic_EVSEFinePositioningParameters); + v2gFinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed = 1u; + grammarID = 2; + break; + case 2: + errn = decode_v2gLF_EVSEFinePositioningParametersType(stream, &v2gFinePositioningResType->LF_EVSEFinePositioningParameters); + v2gFinePositioningResType->LF_EVSEFinePositioningParameters_isUsed = 1u; + grammarID = 2; + break; + case 3: + errn = decode_v2gMV_EVSEFinePositioningParametersType(stream, &v2gFinePositioningResType->MV_EVSEFinePositioningParameters); + v2gFinePositioningResType->MV_EVSEFinePositioningParameters_isUsed = 1u; + grammarID = 2; + break; + case 4: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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{1-255},"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_v2gLFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gLFA_EVSEFinePositioningSetupParametersType* v2gLFA_EVSEFinePositioningSetupParametersType) { + int grammarID = 1582; + int done = 0; + + init_v2gLFA_EVSEFinePositioningSetupParametersType(v2gLFA_EVSEFinePositioningSetupParametersType); + + while(!done) { + switch(grammarID) { + case 1582: + /* 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)); + v2gLFA_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 = 1583; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1583: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gSensorListType(stream, &v2gLFA_EVSEFinePositioningSetupParametersType->SensorList); + grammarID = 1584; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1584: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1585; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1585: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1586; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1586: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1588; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1588: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1589; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1589: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1590; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1590: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1591; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1591: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1592; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1592: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1593; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1593: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1594; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1594: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1595; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1595: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1596; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1596: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1597; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1597: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1598; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1598: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1599; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1599: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1600; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1600: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1601; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1601: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1602; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1602: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1603; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1603: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1604; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1604: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1605; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1605: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1606; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1606: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1607; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1607: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1608; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1608: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1609; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1609: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1610; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1610: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1611; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1611: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1612; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1612: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1613; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1613: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1614; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1614: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1615; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1615: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1616; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1616: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1617; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1617: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1618; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1618: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1619; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1619: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1620; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1620: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1621; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1621: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1622; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1622: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1623; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1623: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1624; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1624: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1625; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1625: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1626; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1626: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1627; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1627: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1628; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1628: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1629; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1629: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1630; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1630: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1631; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1631: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1632; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1632: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1633; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1633: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1634; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1634: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1635; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1635: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1636; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1636: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1637; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1637: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1638; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1638: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1639; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1639: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1640; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1640: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1641; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1641: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1642; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1642: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1643; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1643: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1644; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1644: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1645; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1645: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1646; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1646: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1647; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1647: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1648; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1648: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1649; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1649: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1650; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1650: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1651; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1651: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1652; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1652: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1653; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1653: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1654; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1654: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1655; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1655: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1656; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1656: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1657; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1657: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1658; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1658: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1659; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1659: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1660; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1660: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1661; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1661: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1662; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1662: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1663; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1663: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1664; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1664: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1665; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1665: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1666; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1666: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1667; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1667: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1668; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1668: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1669; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1669: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1670; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1670: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1671; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1671: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1672; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1672: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1673; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1673: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1674; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1674: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1675; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1675: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1676; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1676: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1677; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1677: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1678; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1678: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1679; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1679: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1680; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1680: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1681; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1681: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1682; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1682: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1683; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1683: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1684; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1684: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1685; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1685: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1686; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1686: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1687; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1687: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1688; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1688: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1689; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1689: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1690; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1690: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1691; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1691: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1692; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1692: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1693; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1693: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1694; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1694: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1695; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1695: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1696; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1696: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1697; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1697: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1698; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1698: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1699; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1699: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1700; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1700: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1701; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1701: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1702; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1702: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1703; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1703: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1704; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1704: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1705; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1705: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1706; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1706: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1707; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1707: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1708; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1708: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1709; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1709: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1710; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1710: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1711; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1711: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1712; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1712: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1713; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1713: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1714; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1714: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1715; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1715: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1716; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1716: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1717; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1717: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1718; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1718: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1719; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1719: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1720; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1720: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1721; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1721: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1722; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1722: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1723; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1723: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1724; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1724: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1725; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1725: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1726; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1726: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1727; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1727: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1728; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1728: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1729; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1729: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1730; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1730: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1731; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1731: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1732; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1732: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1733; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1733: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1734; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1734: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1735; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1735: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1736; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1736: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1737; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1737: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1738; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1738: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1739; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1739: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1740; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1740: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1741; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1741: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1742; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1742: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1743; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1743: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1744; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1744: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1745; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1745: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1746; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1746: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1747; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1747: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1748; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1748: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1749; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1749: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1750; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1750: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1751; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1751: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1752; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1752: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1753; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1753: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1754; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1754: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1755; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1755: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1756; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1756: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1757; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1757: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1758; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1758: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1759; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1759: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1760; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1760: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1761; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1761: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1762; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1762: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1763; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1763: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1764; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1764: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1765; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1765: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1766; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1766: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1767; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1767: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1768; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1768: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1769; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1769: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1770; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1770: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1771; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1771: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1772; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1772: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1773; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1773: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1774; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1774: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1775; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1775: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1776; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1776: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1777; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1777: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1778; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1778: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1779; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1779: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1780; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1780: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1781; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1781: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1782; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1782: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1783; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1783: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1784; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1784: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1785; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1785: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1786; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1786: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1787; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1787: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1788; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1788: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1789; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1789: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1790; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1790: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1791; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1791: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1792; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1792: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1793; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1793: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1794; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1794: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1795; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1795: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1796; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1796: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1797; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1797: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1798; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1798: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1799; + } 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)); + v2gLFA_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 = 1587; + } 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}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1800; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1800: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1801; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1801: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1802; + } 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)); + v2gLFA_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 = 1587; + } 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}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1803; + } 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)); + v2gLFA_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 = 1587; + } 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}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1804; + } 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)); + v2gLFA_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 = 1587; + } 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}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1805; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1805: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1806; + } 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)); + v2gLFA_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 = 1587; + } 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}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1807; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1807: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1808; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1808: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1809; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1809: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1810; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1810: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1811; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1811: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1812; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1812: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1813; + } 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)); + v2gLFA_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 = 1587; + } 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:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1814; + } 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)); + v2gLFA_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 = 1587; + } 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:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1815; + } 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)); + v2gLFA_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 = 1587; + } 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}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1816; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1816: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1817; + } 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)); + v2gLFA_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 = 1587; + } 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:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1818; + } 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)); + v2gLFA_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 = 1587; + } 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:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1819; + } 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)); + v2gLFA_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 = 1587; + } 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:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1820; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1820: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1821; + } 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)); + v2gLFA_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 = 1587; + } 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:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1822: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + 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: + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1823: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1824; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1824: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1825; + } 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)); + v2gLFA_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 = 1587; + } 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:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1826; + } 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)); + v2gLFA_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 = 1587; + } 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:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1827; + } 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)); + v2gLFA_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 = 1587; + } 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:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1828; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1828: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1829; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1829: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1830; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1830: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1831; + } 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)); + v2gLFA_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 = 1587; + } 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}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1832; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1832: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1833; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1833: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1834; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1834: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1835; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1835: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1836; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1836: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1837; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1837: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1838; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1838: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1839; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1839: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen < v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_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)); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen] = (uint8_t)(uint32 + 0); + v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen++; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + if(errn == 0) { + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) ? */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(eventCode == 0) { + grammarID = 1840; + } 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1840: + /* 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)); + v2gLFA_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 = 1587; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1587: + /* 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)); + v2gLFA_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 = 1841; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1841: + /* 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)); + v2gLFA_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 = 1842; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1842: + /* 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, &v2gLFA_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 = 1843; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1843: + /* 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, &v2gLFA_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gMinimumPMaxRequestType(bitstream_t* stream, struct v2gMinimumPMaxRequestType* v2gMinimumPMaxRequestType) { + int grammarID = 1844; + int done = 0; + + init_v2gMinimumPMaxRequestType(v2gMinimumPMaxRequestType); + + while(!done) { + switch(grammarID) { + case 1844: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { + errn = decode_v2gPMaxScheduleEntryType(stream, &v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1845; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1845: + /* 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 (v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { + errn = decode_v2gPMaxScheduleEntryType(stream, &v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1846; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1846: + /* 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 (v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { + errn = decode_v2gPMaxScheduleEntryType(stream, &v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gCanonicalizationMethodType(bitstream_t* stream, struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType) { + int grammarID = 1847; + int done = 0; + + init_v2gCanonicalizationMethodType(v2gCanonicalizationMethodType); + + while(!done) { + switch(grammarID) { + case 1847: + /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decodeUnsignedInteger16(stream, &v2gCanonicalizationMethodType->Algorithm.charactersLen); + if (errn == 0) { + if (v2gCanonicalizationMethodType->Algorithm.charactersLen >= 2) { + v2gCanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(v2gCanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCanonicalizationMethodType->Algorithm.charactersLen, v2gCanonicalizationMethodType->Algorithm.characters, v2gCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 1848; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1848: + /* 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 = 904; + break; + case 1: + done = 1; + grammarID = 3; + break; + case 2: + errn = decodeUnsignedInteger16(stream, &v2gCanonicalizationMethodType->ANY.charactersLen); + if (errn == 0) { + if (v2gCanonicalizationMethodType->ANY.charactersLen >= 2) { + v2gCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(v2gCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCanonicalizationMethodType->ANY.charactersLen, v2gCanonicalizationMethodType->ANY.characters, v2gCanonicalizationMethodType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gCanonicalizationMethodType->ANY_isUsed = 1u; + grammarID = 904; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 904: + /* 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 = 904; + break; + case 1: + done = 1; + grammarID = 3; + break; + case 2: + errn = decodeUnsignedInteger16(stream, &v2gCanonicalizationMethodType->ANY.charactersLen); + if (errn == 0) { + if (v2gCanonicalizationMethodType->ANY.charactersLen >= 2) { + v2gCanonicalizationMethodType->ANY.charactersLen = (uint16_t)(v2gCanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCanonicalizationMethodType->ANY.charactersLen, v2gCanonicalizationMethodType->ANY.characters, v2gCanonicalizationMethodType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gCanonicalizationMethodType->ANY_isUsed = 1u; + grammarID = 904; + 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_v2gCertificateInstallationReqType(bitstream_t* stream, struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType) { + int grammarID = 1849; + int done = 0; + + init_v2gCertificateInstallationReqType(v2gCertificateInstallationReqType); + + while(!done) { + switch(grammarID) { + case 1849: + /* 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, &v2gCertificateInstallationReqType->Id.charactersLen); + if (errn == 0) { + if (v2gCertificateInstallationReqType->Id.charactersLen >= 2) { + v2gCertificateInstallationReqType->Id.charactersLen = (uint16_t)(v2gCertificateInstallationReqType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCertificateInstallationReqType->Id.charactersLen, v2gCertificateInstallationReqType->Id.characters, v2gCertificateInstallationReqType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 1850; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1850: + /* 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, &v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen); + if (errn == 0) { + errn = (v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= v2gCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen, v2gCertificateInstallationReqType->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 = 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}ListOfRootCertificateIDs)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gListOfRootCertificateIDsType(stream, &v2gCertificateInstallationReqType->ListOfRootCertificateIDs); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gVehicleCheckInReqType(bitstream_t* stream, struct v2gVehicleCheckInReqType* v2gVehicleCheckInReqType) { + int grammarID = 1852; + int done = 0; + + init_v2gVehicleCheckInReqType(v2gVehicleCheckInReqType); + + while(!done) { + switch(grammarID) { + case 1852: + /* 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); + v2gVehicleCheckInReqType->EVCheckInStatus = (v2gEVCheckInStatusType) 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 = 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}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); + v2gVehicleCheckInReqType->ParkingMethod = (v2gparkingMethodType) uint32; + v2gVehicleCheckInReqType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gMV_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gMV_EVSEFinePositioningParametersType* v2gMV_EVSEFinePositioningParametersType) { + int grammarID = 1854; + int done = 0; + + init_v2gMV_EVSEFinePositioningParametersType(v2gMV_EVSEFinePositioningParametersType); + + while(!done) { + switch(grammarID) { + case 1854: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gMagneticVectorListType(stream, &v2gMV_EVSEFinePositioningParametersType->MagneticVectorList); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPowerDeliveryResType(bitstream_t* stream, struct v2gPowerDeliveryResType* v2gPowerDeliveryResType) { + int grammarID = 583; + int done = 0; + + init_v2gPowerDeliveryResType(v2gPowerDeliveryResType); + + while(!done) { + switch(grammarID) { + case 583: + /* 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); + v2gPowerDeliveryResType->ResponseCode = (v2gresponseCodeType) 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 = 584; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 584: + /* 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_v2gEVSEStatusType(stream, &v2gPowerDeliveryResType->EVSEStatus); + v2gPowerDeliveryResType->EVSEStatus_isUsed = 1u; + grammarID = 585; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gPowerDeliveryResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 585: + /* 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); + v2gPowerDeliveryResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gEVSEEnergyTransferParameterType(bitstream_t* stream, struct v2gEVSEEnergyTransferParameterType* v2gEVSEEnergyTransferParameterType) { + int grammarID = 4; + int done = 0; + + init_v2gEVSEEnergyTransferParameterType(v2gEVSEEnergyTransferParameterType); + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gDiffieHellmanPublickeyType(bitstream_t* stream, struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType) { + int grammarID = 1855; + int done = 0; + + init_v2gDiffieHellmanPublickeyType(v2gDiffieHellmanPublickeyType); + + while(!done) { + switch(grammarID) { + case 1855: + /* 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, &v2gDiffieHellmanPublickeyType->Id.charactersLen); + if (errn == 0) { + if (v2gDiffieHellmanPublickeyType->Id.charactersLen >= 2) { + v2gDiffieHellmanPublickeyType->Id.charactersLen = (uint16_t)(v2gDiffieHellmanPublickeyType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDiffieHellmanPublickeyType->Id.charactersLen, v2gDiffieHellmanPublickeyType->Id.characters, v2gDiffieHellmanPublickeyType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 1; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1: + /* StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decodeUnsignedInteger16(stream, &v2gDiffieHellmanPublickeyType->CONTENT.bytesLen); + if (errn == 0) { + errn = (v2gDiffieHellmanPublickeyType->CONTENT.bytesLen) <= v2gDiffieHellmanPublickeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gDiffieHellmanPublickeyType->CONTENT.bytesLen, v2gDiffieHellmanPublickeyType->CONTENT.bytes); + } + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gV2GResponseType(bitstream_t* stream, struct v2gV2GResponseType* v2gV2GResponseType) { + int grammarID = 1856; + int done = 0; + + init_v2gV2GResponseType(v2gV2GResponseType); + + while(!done) { + switch(grammarID) { + case 1856: + /* 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); + v2gV2GResponseType->ResponseCode = (v2gresponseCodeType) 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 = 1857; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1857: + /* 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_v2gEVSEStatusType(stream, &v2gV2GResponseType->EVSEStatus); + v2gV2GResponseType->EVSEStatus_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gCableCheckResType(bitstream_t* stream, struct v2gCableCheckResType* v2gCableCheckResType) { + int grammarID = 583; + int done = 0; + + init_v2gCableCheckResType(v2gCableCheckResType); + + while(!done) { + switch(grammarID) { + case 583: + /* 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); + v2gCableCheckResType->ResponseCode = (v2gresponseCodeType) 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 = 584; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 584: + /* 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_v2gEVSEStatusType(stream, &v2gCableCheckResType->EVSEStatus); + v2gCableCheckResType->EVSEStatus_isUsed = 1u; + grammarID = 585; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gCableCheckResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 585: + /* 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); + v2gCableCheckResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTariffEntryType* v2gSalesTariffEntryType) { + int grammarID = 1858; + int done = 0; + + init_v2gSalesTariffEntryType(v2gSalesTariffEntryType); + + while(!done) { + switch(grammarID) { + case 1858: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gRelativeTimeIntervalType(stream, &v2gSalesTariffEntryType->RelativeTimeInterval); + grammarID = 1859; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1859: + /* 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)); + v2gSalesTariffEntryType->EPriceLevel = (uint8_t)(uint32 + 0); + v2gSalesTariffEntryType->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 = 1860; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + if (v2gSalesTariffEntryType->ConsumptionCost.arrayLen < v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { + errn = decode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array[v2gSalesTariffEntryType->ConsumptionCost.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1861; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1860: + /* 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 (v2gSalesTariffEntryType->ConsumptionCost.arrayLen < v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { + errn = decode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array[v2gSalesTariffEntryType->ConsumptionCost.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1861; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1861: + /* 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 (v2gSalesTariffEntryType->ConsumptionCost.arrayLen < v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { + errn = decode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array[v2gSalesTariffEntryType->ConsumptionCost.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1862; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1862: + /* 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 (v2gSalesTariffEntryType->ConsumptionCost.arrayLen < v2gSalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { + errn = decode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array[v2gSalesTariffEntryType->ConsumptionCost.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gChargingProfileType(bitstream_t* stream, struct v2gChargingProfileType* v2gChargingProfileType) { + int grammarID = 1863; + int done = 0; + + init_v2gChargingProfileType(v2gChargingProfileType); + + while(!done) { + switch(grammarID) { + case 1863: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gChargingProfileType->ProfileEntry.arrayLen < v2gChargingProfileType_ProfileEntry_ARRAY_SIZE) { + errn = decode_v2gPMaxScheduleEntryType(stream, &v2gChargingProfileType->ProfileEntry.array[v2gChargingProfileType->ProfileEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1864; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1864: + /* 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 (v2gChargingProfileType->ProfileEntry.arrayLen < v2gChargingProfileType_ProfileEntry_ARRAY_SIZE) { + errn = decode_v2gPMaxScheduleEntryType(stream, &v2gChargingProfileType->ProfileEntry.array[v2gChargingProfileType->ProfileEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1864; + break; + case 1: + done = 1; + grammarID = 3; + 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_v2gServiceDiscoveryResType(bitstream_t* stream, struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType) { + int grammarID = 1865; + int done = 0; + + init_v2gServiceDiscoveryResType(v2gServiceDiscoveryResType); + + while(!done) { + switch(grammarID) { + case 1865: + /* 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); + v2gServiceDiscoveryResType->ResponseCode = (v2gresponseCodeType) 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 = 1866; + } 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}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gEVSEStatusType(stream, &v2gServiceDiscoveryResType->EVSEStatus); + v2gServiceDiscoveryResType->EVSEStatus_isUsed = 1u; + grammarID = 1867; + break; + case 1: + errn = decode_v2gPaymentOptionListType(stream, &v2gServiceDiscoveryResType->PaymentOptionList); + grammarID = 1868; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1867: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPaymentOptionListType(stream, &v2gServiceDiscoveryResType->PaymentOptionList); + grammarID = 1868; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1868: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gServiceListType(stream, &v2gServiceDiscoveryResType->EnergyTransferServiceList); + grammarID = 1869; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1869: + /* 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_v2gServiceListType(stream, &v2gServiceDiscoveryResType->VASList); + v2gServiceDiscoveryResType->VASList_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPMaxScheduleType(bitstream_t* stream, struct v2gPMaxScheduleType* v2gPMaxScheduleType) { + int grammarID = 1870; + int done = 0; + + init_v2gPMaxScheduleType(v2gPMaxScheduleType); + + while(!done) { + switch(grammarID) { + case 1870: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen < v2gPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { + errn = decode_v2gPMaxScheduleEntryType(stream, &v2gPMaxScheduleType->PMaxScheduleEntry.array[v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1871; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1871: + /* 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 (v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen < v2gPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { + errn = decode_v2gPMaxScheduleEntryType(stream, &v2gPMaxScheduleType->PMaxScheduleEntry.array[v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1871; + break; + case 1: + done = 1; + grammarID = 3; + 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_v2gSensorPackageType(bitstream_t* stream, struct v2gSensorPackageType* v2gSensorPackageType) { + int grammarID = 1872; + int done = 0; + + init_v2gSensorPackageType(v2gSensorPackageType); + + while(!done) { + switch(grammarID) { + case 1872: + /* 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, &v2gSensorPackageType->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 = 1873; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1873: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1874; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1874: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1875; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1875: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1876; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1876: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1877; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1877: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1878; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1878: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1879; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1879: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1880; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1880: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1881; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1881: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1882; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1882: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1883; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1883: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1884; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1884: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1885; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1885: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1886; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1886: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1887; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1887: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1888; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1888: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1889; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1889: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1890; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1890: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1891; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1891: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1892; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1892: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1893; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1893: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1894; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1894: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1895; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1895: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1896; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1896: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1897; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1897: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1898; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1898: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1899; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1899: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1900; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1900: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1901; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1901: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1902; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1902: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1903; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1903: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1904; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1904: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1905; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1905: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1906; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1906: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1907; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1907: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1908; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1908: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1909; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1909: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1910; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1910: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1911; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1911: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1912; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1912: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1913; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1913: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1914; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1914: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1915; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1915: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1916; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1916: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1917; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1917: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1918; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1918: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1919; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1919: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1920; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1920: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1921; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1921: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1922; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1922: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1923; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1923: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1924; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1924: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1925; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1925: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1926; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1926: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1927; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1927: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1928; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1928: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1929; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1929: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1930; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1930: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1931; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1931: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1932; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1932: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1933; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1933: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1934; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1934: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1935; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1935: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1936; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1936: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1937; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1937: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1938; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1938: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1939; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1939: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1940; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1940: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1941; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1941: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1942; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1942: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1943; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1943: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1944; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1944: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1945; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1945: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1946; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1946: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1947; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1947: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1948; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1948: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1949; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1949: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1950; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1950: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1951; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1951: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1952; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1952: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1953; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1953: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1954; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1954: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1955; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1955: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1956; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1956: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1957; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1957: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1958; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1958: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1959; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1959: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1960; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1960: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1961; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1961: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1962; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1962: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1963; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1963: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1964; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1964: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1965; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1965: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1966; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1966: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1967; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1967: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1968; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1968: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1969; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1969: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1970; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1970: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1971; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1971: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1972; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1972: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1973; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1973: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1974; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1974: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1975; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1975: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1976; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1976: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1977; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1977: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1978; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1978: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1979; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1979: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1980; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1980: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1981; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1981: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1982; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1982: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1983; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1983: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1984; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1984: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1985; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1985: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1986; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1986: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1987; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1987: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1988; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1988: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1989; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1989: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1990; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1990: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1991; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1991: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1992; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1992: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1993; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1993: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1994; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1994: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1995; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1995: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1996; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1996: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1997; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1997: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1998; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1998: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 1999; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1999: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2000; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2000: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2001; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2001: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2002; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2002: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2003; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2003: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2004; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2004: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2005; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2005: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2006; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2006: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2007; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2007: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2008; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2008: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2009; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2009: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2010; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2010: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2011; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2011: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2012; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2012: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2013; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2013: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2014; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2014: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2015; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2015: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2016; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2016: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2017; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2017: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2018; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2018: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2019; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2019: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2020; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2020: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2021; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2021: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2022; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2022: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2023; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2023: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2024; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2024: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2025; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2025: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2026; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2026: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2027; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2027: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2028; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2028: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2029; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2029: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2030; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2030: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2031; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2031: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2032; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2032: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2033; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2033: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2034; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2034: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2035; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2035: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2036; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2036: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2037; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2037: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2038; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2038: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2039; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2039: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2040; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2040: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2041; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2041: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2042; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2042: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2043; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2043: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2044; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2044: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2045; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2045: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2046; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2046: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2047; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2047: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2048; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2048: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2049; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2049: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2050; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2050: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2051; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2051: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2052; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2052: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2053; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2053: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2054; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2054: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2055; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2055: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2056; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2056: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2057; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2057: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2058; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2058: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2059; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2059: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2060; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2060: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2061; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2061: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2062; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2062: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2063; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2063: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2064; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2064: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2065; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2065: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2066; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2066: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2067; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2067: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2068; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2068: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2069; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2069: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2070; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2070: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2071; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2071: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2072; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2072: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2073; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2073: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2074; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2074: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2075; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2075: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2076; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2076: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2077; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2077: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2078; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2078: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2079; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2079: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2080; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2080: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2081; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2081: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2082; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2082: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2083; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2083: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2084; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2084: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2085; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2085: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2086; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2086: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2087; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2087: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2088; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2088: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2089; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2089: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2090; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2090: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2091; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2091: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2092; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2092: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2093; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2093: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2094; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2094: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2095; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2095: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2096; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2096: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2097; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2097: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2098; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2098: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2099; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2099: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2100; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2100: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2101; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2101: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2102; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2102: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2103; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2103: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2104; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2104: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2105; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2105: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2106; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2106: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2107; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2107: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2108; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2108: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2109; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2109: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2110; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2110: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2111; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2111: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2112; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2112: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2113; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2113: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2114; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2114: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2115; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2115: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2116; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2116: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2117; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2117: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2118; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2118: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2119; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2119: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2120; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2120: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2121; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2121: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2122; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2122: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2123; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2123: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2124; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2124: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2125; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2125: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2126; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2126: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2127; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2127: + /* 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 (v2gSensorPackageType->SensorMeasurements.arrayLen < v2gSensorPackageType_SensorMeasurements_ARRAY_SIZE) { + errn = decode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array[v2gSensorPackageType->SensorMeasurements.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gDC_EVSEBidirectionalParameterType(bitstream_t* stream, struct v2gDC_EVSEBidirectionalParameterType* v2gDC_EVSEBidirectionalParameterType) { + int grammarID = 2128; + int done = 0; + + init_v2gDC_EVSEBidirectionalParameterType(v2gDC_EVSEBidirectionalParameterType); + + while(!done) { + switch(grammarID) { + case 2128: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumChargePower); + grammarID = 2129; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2129: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent); + grammarID = 2130; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2130: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMinimumChargeCurrent); + grammarID = 2131; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2131: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumVoltage); + grammarID = 2132; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2132: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMinimumVoltage); + grammarID = 2133; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2133: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance); + v2gDC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; + grammarID = 2134; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple); + grammarID = 2135; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2134: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple); + grammarID = 2135; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2135: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered); + v2gDC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; + grammarID = 2136; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower); + grammarID = 2137; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2136: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower); + grammarID = 2137; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2137: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent); + grammarID = 2138; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2138: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMinimumDischargeCurrent); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gDC_EVSEChargeParameterType(bitstream_t* stream, struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType) { + int grammarID = 2139; + int done = 0; + + init_v2gDC_EVSEChargeParameterType(v2gDC_EVSEChargeParameterType); + + while(!done) { + switch(grammarID) { + case 2139: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumChargePower); + grammarID = 2140; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2140: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumChargeCurrent); + grammarID = 2141; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2141: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMinimumChargeCurrent); + grammarID = 2142; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2142: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumVoltage); + grammarID = 2143; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2143: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMinimumVoltage); + grammarID = 2144; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2144: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance); + v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; + grammarID = 2145; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEPeakCurrentRipple); + grammarID = 2146; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2145: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEPeakCurrentRipple); + grammarID = 2146; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2146: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered); + v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gConnectChargingDeviceReqType(bitstream_t* stream, struct v2gConnectChargingDeviceReqType* v2gConnectChargingDeviceReqType) { + int grammarID = 2147; + int done = 0; + + init_v2gConnectChargingDeviceReqType(v2gConnectChargingDeviceReqType); + + while(!done) { + switch(grammarID) { + case 2147: + /* 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); + v2gConnectChargingDeviceReqType->EVElectricalChargingDeviceStatus = (v2gelectricalChargingDeviceStatusType) 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 = 917; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 917: + /* 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); + v2gConnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus = (v2gmechanicalChargingDeviceStatusType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gCertificateUpdateReqType(bitstream_t* stream, struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType) { + int grammarID = 2148; + int done = 0; + + init_v2gCertificateUpdateReqType(v2gCertificateUpdateReqType); + + while(!done) { + switch(grammarID) { + case 2148: + /* 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, &v2gCertificateUpdateReqType->Id.charactersLen); + if (errn == 0) { + if (v2gCertificateUpdateReqType->Id.charactersLen >= 2) { + v2gCertificateUpdateReqType->Id.charactersLen = (uint16_t)(v2gCertificateUpdateReqType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCertificateUpdateReqType->Id.charactersLen, v2gCertificateUpdateReqType->Id.characters, v2gCertificateUpdateReqType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 2149; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2149: + /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gCertificateChainType(stream, &v2gCertificateUpdateReqType->ContractSignatureCertChain); + grammarID = 2150; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2150: + /* 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, &v2gCertificateUpdateReqType->eMAID.charactersLen); + if (errn == 0) { + if (v2gCertificateUpdateReqType->eMAID.charactersLen >= 2) { + v2gCertificateUpdateReqType->eMAID.charactersLen = (uint16_t)(v2gCertificateUpdateReqType->eMAID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCertificateUpdateReqType->eMAID.charactersLen, v2gCertificateUpdateReqType->eMAID.characters, v2gCertificateUpdateReqType_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 = 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}ListOfRootCertificateIDs)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gListOfRootCertificateIDsType(stream, &v2gCertificateUpdateReqType->ListOfRootCertificateIDs); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gKeyInfoType(bitstream_t* stream, struct v2gKeyInfoType* v2gKeyInfoType) { + int grammarID = 2151; + int done = 0; + + init_v2gKeyInfoType(v2gKeyInfoType); + + while(!done) { + switch(grammarID) { + case 2151: + /* 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, &v2gKeyInfoType->Id.charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->Id.charactersLen >= 2) { + v2gKeyInfoType->Id.charactersLen = (uint16_t)(v2gKeyInfoType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->Id.charactersLen, v2gKeyInfoType->Id.characters, v2gKeyInfoType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->Id_isUsed = 1u; + grammarID = 2152; + break; + case 1: + if (v2gKeyInfoType->KeyName.arrayLen < v2gKeyInfoType_KeyName_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { + v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].characters, v2gKeyInfoType_KeyName_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->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 = 2153; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + if (v2gKeyInfoType->KeyValue.arrayLen < v2gKeyInfoType_KeyValue_ARRAY_SIZE) { + errn = decode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array[v2gKeyInfoType->KeyValue.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 3: + if (v2gKeyInfoType->RetrievalMethod.arrayLen < v2gKeyInfoType_RetrievalMethod_ARRAY_SIZE) { + errn = decode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array[v2gKeyInfoType->RetrievalMethod.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 4: + if (v2gKeyInfoType->X509Data.arrayLen < v2gKeyInfoType_X509Data_ARRAY_SIZE) { + errn = decode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array[v2gKeyInfoType->X509Data.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 5: + if (v2gKeyInfoType->PGPData.arrayLen < v2gKeyInfoType_PGPData_ARRAY_SIZE) { + errn = decode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array[v2gKeyInfoType->PGPData.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 6: + if (v2gKeyInfoType->SPKIData.arrayLen < v2gKeyInfoType_SPKIData_ARRAY_SIZE) { + errn = decode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array[v2gKeyInfoType->SPKIData.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 7: + if (v2gKeyInfoType->MgmtData.arrayLen < v2gKeyInfoType_MgmtData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { + v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].characters, v2gKeyInfoType_MgmtData_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->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 = 2153; + } 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 = 2153; + break; + case 9: + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->ANY.charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->ANY.charactersLen >= 2) { + v2gKeyInfoType->ANY.charactersLen = (uint16_t)(v2gKeyInfoType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->ANY.charactersLen, v2gKeyInfoType->ANY.characters, v2gKeyInfoType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->ANY_isUsed = 1u; + grammarID = 2154; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2152: + /* 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 (v2gKeyInfoType->KeyName.arrayLen < v2gKeyInfoType_KeyName_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { + v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].characters, v2gKeyInfoType_KeyName_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->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 = 2153; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + if (v2gKeyInfoType->KeyValue.arrayLen < v2gKeyInfoType_KeyValue_ARRAY_SIZE) { + errn = decode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array[v2gKeyInfoType->KeyValue.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 2: + if (v2gKeyInfoType->RetrievalMethod.arrayLen < v2gKeyInfoType_RetrievalMethod_ARRAY_SIZE) { + errn = decode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array[v2gKeyInfoType->RetrievalMethod.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 3: + if (v2gKeyInfoType->X509Data.arrayLen < v2gKeyInfoType_X509Data_ARRAY_SIZE) { + errn = decode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array[v2gKeyInfoType->X509Data.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 4: + if (v2gKeyInfoType->PGPData.arrayLen < v2gKeyInfoType_PGPData_ARRAY_SIZE) { + errn = decode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array[v2gKeyInfoType->PGPData.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 5: + if (v2gKeyInfoType->SPKIData.arrayLen < v2gKeyInfoType_SPKIData_ARRAY_SIZE) { + errn = decode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array[v2gKeyInfoType->SPKIData.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 6: + if (v2gKeyInfoType->MgmtData.arrayLen < v2gKeyInfoType_MgmtData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { + v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].characters, v2gKeyInfoType_MgmtData_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->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 = 2153; + } 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 = 2153; + break; + case 8: + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->ANY.charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->ANY.charactersLen >= 2) { + v2gKeyInfoType->ANY.charactersLen = (uint16_t)(v2gKeyInfoType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->ANY.charactersLen, v2gKeyInfoType->ANY.characters, v2gKeyInfoType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->ANY_isUsed = 1u; + grammarID = 2154; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2153: + /* 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 (v2gKeyInfoType->KeyName.arrayLen < v2gKeyInfoType_KeyName_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { + v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].characters, v2gKeyInfoType_KeyName_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->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 = 2153; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + if (v2gKeyInfoType->KeyValue.arrayLen < v2gKeyInfoType_KeyValue_ARRAY_SIZE) { + errn = decode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array[v2gKeyInfoType->KeyValue.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 2: + if (v2gKeyInfoType->RetrievalMethod.arrayLen < v2gKeyInfoType_RetrievalMethod_ARRAY_SIZE) { + errn = decode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array[v2gKeyInfoType->RetrievalMethod.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 3: + if (v2gKeyInfoType->X509Data.arrayLen < v2gKeyInfoType_X509Data_ARRAY_SIZE) { + errn = decode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array[v2gKeyInfoType->X509Data.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 4: + if (v2gKeyInfoType->PGPData.arrayLen < v2gKeyInfoType_PGPData_ARRAY_SIZE) { + errn = decode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array[v2gKeyInfoType->PGPData.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 5: + if (v2gKeyInfoType->SPKIData.arrayLen < v2gKeyInfoType_SPKIData_ARRAY_SIZE) { + errn = decode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array[v2gKeyInfoType->SPKIData.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 6: + if (v2gKeyInfoType->MgmtData.arrayLen < v2gKeyInfoType_MgmtData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { + v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].characters, v2gKeyInfoType_MgmtData_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->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 = 2153; + } 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 = 2153; + break; + case 8: + done = 1; + grammarID = 3; + break; + case 9: + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->ANY.charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->ANY.charactersLen >= 2) { + v2gKeyInfoType->ANY.charactersLen = (uint16_t)(v2gKeyInfoType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->ANY.charactersLen, v2gKeyInfoType->ANY.characters, v2gKeyInfoType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->ANY_isUsed = 1u; + grammarID = 2153; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2154: + /* 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 (v2gKeyInfoType->KeyName.arrayLen < v2gKeyInfoType_KeyName_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { + v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].charactersLen, v2gKeyInfoType->KeyName.array[v2gKeyInfoType->KeyName.arrayLen].characters, v2gKeyInfoType_KeyName_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->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 = 2153; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + if (v2gKeyInfoType->KeyValue.arrayLen < v2gKeyInfoType_KeyValue_ARRAY_SIZE) { + errn = decode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array[v2gKeyInfoType->KeyValue.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 2: + if (v2gKeyInfoType->RetrievalMethod.arrayLen < v2gKeyInfoType_RetrievalMethod_ARRAY_SIZE) { + errn = decode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array[v2gKeyInfoType->RetrievalMethod.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 3: + if (v2gKeyInfoType->X509Data.arrayLen < v2gKeyInfoType_X509Data_ARRAY_SIZE) { + errn = decode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array[v2gKeyInfoType->X509Data.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 4: + if (v2gKeyInfoType->PGPData.arrayLen < v2gKeyInfoType_PGPData_ARRAY_SIZE) { + errn = decode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array[v2gKeyInfoType->PGPData.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 5: + if (v2gKeyInfoType->SPKIData.arrayLen < v2gKeyInfoType_SPKIData_ARRAY_SIZE) { + errn = decode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array[v2gKeyInfoType->SPKIData.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2153; + break; + case 6: + if (v2gKeyInfoType->MgmtData.arrayLen < v2gKeyInfoType_MgmtData_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { + v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].charactersLen, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType->MgmtData.arrayLen].characters, v2gKeyInfoType_MgmtData_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->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 = 2153; + } 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 = 2153; + break; + case 8: + errn = decodeUnsignedInteger16(stream, &v2gKeyInfoType->ANY.charactersLen); + if (errn == 0) { + if (v2gKeyInfoType->ANY.charactersLen >= 2) { + v2gKeyInfoType->ANY.charactersLen = (uint16_t)(v2gKeyInfoType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyInfoType->ANY.charactersLen, v2gKeyInfoType->ANY.characters, v2gKeyInfoType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyInfoType->ANY_isUsed = 1u; + grammarID = 2154; + 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_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeldingDetectionResType* v2gWeldingDetectionResType) { + int grammarID = 1575; + int done = 0; + + init_v2gWeldingDetectionResType(v2gWeldingDetectionResType); + + while(!done) { + switch(grammarID) { + case 1575: + /* 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); + v2gWeldingDetectionResType->ResponseCode = (v2gresponseCodeType) 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 = 1576; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1576: + /* 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_v2gEVSEStatusType(stream, &v2gWeldingDetectionResType->EVSEStatus); + v2gWeldingDetectionResType->EVSEStatus_isUsed = 1u; + grammarID = 1577; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gWeldingDetectionResType->EVSEPresentVoltage); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1577: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gWeldingDetectionResType->EVSEPresentVoltage); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPhysicalValueType(bitstream_t* stream, struct v2gPhysicalValueType* v2gPhysicalValueType) { + int grammarID = 2155; + int done = 0; + + init_v2gPhysicalValueType(v2gPhysicalValueType); + + while(!done) { + switch(grammarID) { + case 2155: + /* 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)); + v2gPhysicalValueType->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 = 2156; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2156: + /* 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, &v2gPhysicalValueType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType) { + int grammarID = 2157; + int done = 0; + + init_v2gPaymentServiceSelectionReqType(v2gPaymentServiceSelectionReqType); + + while(!done) { + switch(grammarID) { + case 2157: + /* 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); + v2gPaymentServiceSelectionReqType->SelectedPaymentOption = (v2gpaymentOptionType) 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 = 2158; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2158: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gSelectedServiceType(stream, &v2gPaymentServiceSelectionReqType->SelectedEnergyTransferService); + grammarID = 2159; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2159: + /* 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_v2gSelectedServiceListType(stream, &v2gPaymentServiceSelectionReqType->SelectedVASList); + v2gPaymentServiceSelectionReqType->SelectedVASList_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSensorListType(bitstream_t* stream, struct v2gSensorListType* v2gSensorListType) { + int grammarID = 2160; + int done = 0; + + init_v2gSensorListType(v2gSensorListType); + + while(!done) { + switch(grammarID) { + case 2160: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2161; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2161: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2162; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2162: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2163; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2163: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2164; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2164: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2165; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2165: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2166; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2166: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2167; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2167: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2168; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2168: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2169; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2169: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2170; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2170: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2171; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2171: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2172; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2172: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2173; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2173: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2174; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2174: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2175; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2175: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2176; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2176: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2177; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2177: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2178; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2178: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2179; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2179: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2180; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2180: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2181; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2181: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2182; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2182: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2183; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2183: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2184; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2184: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2185; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2185: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2186; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2186: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2187; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2187: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2188; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2188: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2189; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2189: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2190; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2190: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2191; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2191: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2192; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2192: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2193; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2193: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2194; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2194: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2195; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2195: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2196; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2196: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2197; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2197: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2198; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2198: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2199; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2199: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2200; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2200: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2201; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2201: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2202; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2202: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2203; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2203: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2204; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2204: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2205; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2205: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2206; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2206: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2207; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2207: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2208; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2208: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2209; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2209: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2210; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2210: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2211; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2211: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2212; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2212: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2213; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2213: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2214; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2214: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2215; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2215: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2216; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2216: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2217; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2217: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2218; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2218: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2219; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2219: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2220; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2220: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2221; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2221: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2222; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2222: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2223; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2223: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2224; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2224: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2225; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2225: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2226; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2226: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2227; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2227: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2228; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2228: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2229; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2229: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2230; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2230: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2231; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2231: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2232; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2232: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2233; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2233: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2234; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2234: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2235; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2235: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2236; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2236: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2237; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2237: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2238; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2238: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2239; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2239: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2240; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2240: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2241; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2241: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2242; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2242: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2243; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2243: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2244; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2244: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2245; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2245: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2246; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2246: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2247; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2247: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2248; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2248: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2249; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2249: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2250; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2250: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2251; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2251: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2252; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2252: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2253; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2253: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2254; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2254: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2255; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2255: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2256; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2256: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2257; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2257: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2258; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2258: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2259; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2259: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2260; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2260: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2261; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2261: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2262; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2262: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2263; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2263: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2264; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2264: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2265; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2265: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2266; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2266: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2267; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2267: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2268; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2268: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2269; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2269: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2270; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2270: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2271; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2271: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2272; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2272: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2273; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2273: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2274; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2274: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2275; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2275: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2276; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2276: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2277; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2277: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2278; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2278: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2279; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2279: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2280; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2280: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2281; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2281: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2282; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2282: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2283; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2283: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2284; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2284: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2285; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2285: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2286; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2286: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2287; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2287: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2288; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2288: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2289; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2289: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2290; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2290: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2291; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2291: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2292; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2292: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2293; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2293: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2294; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2294: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2295; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2295: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2296; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2296: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2297; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2297: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2298; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2298: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2299; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2299: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2300; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2300: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2301; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2301: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2302; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2302: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2303; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2303: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2304; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2304: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2305; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2305: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2306; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2306: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2307; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2307: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2308; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2308: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2309; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2309: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2310; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2310: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2311; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2311: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2312; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2312: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2313; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2313: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2314; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2314: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2315; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2315: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2316; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2316: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2317; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2317: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2318; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2318: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2319; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2319: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2320; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2320: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2321; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2321: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2322; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2322: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2323; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2323: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2324; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2324: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2325; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2325: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2326; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2326: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2327; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2327: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2328; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2328: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2329; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2329: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2330; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2330: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2331; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2331: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2332; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2332: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2333; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2333: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2334; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2334: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2335; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2335: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2336; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2336: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2337; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2337: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2338; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2338: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2339; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2339: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2340; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2340: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2341; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2341: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2342; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2342: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2343; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2343: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2344; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2344: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2345; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2345: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2346; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2346: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2347; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2347: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2348; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2348: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2349; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2349: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2350; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2350: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2351; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2351: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2352; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2352: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2353; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2353: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2354; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2354: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2355; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2355: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2356; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2356: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2357; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2357: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2358; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2358: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2359; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2359: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2360; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2360: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2361; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2361: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2362; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2362: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2363; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2363: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2364; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2364: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2365; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2365: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2366; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2366: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2367; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2367: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2368; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2368: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2369; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2369: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2370; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2370: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2371; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2371: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2372; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2372: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2373; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2373: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2374; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2374: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2375; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2375: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2376; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2376: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2377; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2377: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2378; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2378: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2379; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2379: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2380; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2380: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2381; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2381: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2382; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2382: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2383; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2383: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2384; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2384: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2385; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2385: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2386; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2386: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2387; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2387: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2388; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2388: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2389; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2389: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2390; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2390: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2391; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2391: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2392; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2392: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2393; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2393: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2394; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2394: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2395; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2395: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2396; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2396: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2397; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2397: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2398; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2398: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2399; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2399: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2400; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2400: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2401; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2401: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2402; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2402: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2403; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2403: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2404; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2404: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2405; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2405: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2406; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2406: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2407; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2407: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2408; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2408: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2409; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2409: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2410; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2410: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2411; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2411: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2412; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2412: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2413; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2413: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2414; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2414: + /* 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 (v2gSensorListType->Sensor.arrayLen < v2gSensorListType_Sensor_ARRAY_SIZE) { + errn = decode_v2gSensorType(stream, &v2gSensorListType->Sensor.array[v2gSensorListType->Sensor.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPairingReqType(bitstream_t* stream, struct v2gPairingReqType* v2gPairingReqType) { + int grammarID = 2415; + int done = 0; + + init_v2gPairingReqType(v2gPairingReqType); + + while(!done) { + switch(grammarID) { + case 2415: + /* 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); + v2gPairingReqType->EVProcessing = (v2gEVSEProcessingType) 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 = 1223; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1223: + /* 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_v2gParameterSetType(stream, &v2gPairingReqType->PairingParameters); + v2gPairingReqType->PairingParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gDisconnectChargingDeviceReqType(bitstream_t* stream, struct v2gDisconnectChargingDeviceReqType* v2gDisconnectChargingDeviceReqType) { + int grammarID = 2147; + int done = 0; + + init_v2gDisconnectChargingDeviceReqType(v2gDisconnectChargingDeviceReqType); + + while(!done) { + switch(grammarID) { + case 2147: + /* 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); + v2gDisconnectChargingDeviceReqType->EVElectricalChargingDeviceStatus = (v2gelectricalChargingDeviceStatusType) 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 = 917; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 917: + /* 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); + v2gDisconnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus = (v2gmechanicalChargingDeviceStatusType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gParameterType(bitstream_t* stream, struct v2gParameterType* v2gParameterType) { + int grammarID = 2416; + int done = 0; + + init_v2gParameterType(v2gParameterType); + + while(!done) { + switch(grammarID) { + case 2416: + /* 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, &v2gParameterType->Name.charactersLen); + if (errn == 0) { + if (v2gParameterType->Name.charactersLen >= 2) { + v2gParameterType->Name.charactersLen = (uint16_t)(v2gParameterType->Name.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gParameterType->Name.charactersLen, v2gParameterType->Name.characters, v2gParameterType_Name_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 2417; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2417: + /* 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, &v2gParameterType->boolValue); + v2gParameterType->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 = 2; + } 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)); + v2gParameterType->byteValue = (int8_t)(uint32 -128); + v2gParameterType->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 = 2; + } 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, &v2gParameterType->shortValue); + v2gParameterType->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 = 2; + } 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, &v2gParameterType->intValue); + v2gParameterType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 4: + errn = decode_v2gPhysicalValueType(stream, &v2gParameterType->physicalValue); + v2gParameterType->physicalValue_isUsed = 1u; + grammarID = 2; + break; + case 5: + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gParameterType->stringValue.charactersLen); + if (errn == 0) { + if (v2gParameterType->stringValue.charactersLen >= 2) { + v2gParameterType->stringValue.charactersLen = (uint16_t)(v2gParameterType->stringValue.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gParameterType->stringValue.charactersLen, v2gParameterType->stringValue.characters, v2gParameterType_stringValue_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gParameterType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gEVSEFinePositioningParametersType(bitstream_t* stream, struct v2gEVSEFinePositioningParametersType* v2gEVSEFinePositioningParametersType) { + int grammarID = 4; + int done = 0; + + init_v2gEVSEFinePositioningParametersType(v2gEVSEFinePositioningParametersType); + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gAC_EVSEChargeParameterType(bitstream_t* stream, struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType) { + int grammarID = 2418; + int done = 0; + + init_v2gAC_EVSEChargeParameterType(v2gAC_EVSEChargeParameterType); + + while(!done) { + switch(grammarID) { + case 2418: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSEMaximumChargeCurrent); + grammarID = 2419; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2419: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSENominalVoltage); + grammarID = 578; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 578: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSENominalFrequency); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gServiceDiscoveryReqType(bitstream_t* stream, struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType) { + int grammarID = 2420; + int done = 0; + + init_v2gServiceDiscoveryReqType(v2gServiceDiscoveryReqType); + + while(!done) { + switch(grammarID) { + case 2420: + /* 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_v2gServiceIDListType(stream, &v2gServiceDiscoveryReqType->SupportedServiceIDs); + v2gServiceDiscoveryReqType->SupportedServiceIDs_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gConnectChargingDeviceResType(bitstream_t* stream, struct v2gConnectChargingDeviceResType* v2gConnectChargingDeviceResType) { + int grammarID = 2421; + int done = 0; + + init_v2gConnectChargingDeviceResType(v2gConnectChargingDeviceResType); + + while(!done) { + switch(grammarID) { + case 2421: + /* 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); + v2gConnectChargingDeviceResType->ResponseCode = (v2gresponseCodeType) 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 = 2422; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2422: + /* 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_v2gEVSEStatusType(stream, &v2gConnectChargingDeviceResType->EVSEStatus); + v2gConnectChargingDeviceResType->EVSEStatus_isUsed = 1u; + grammarID = 2423; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gConnectChargingDeviceResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2424; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2423: + /* 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); + v2gConnectChargingDeviceResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2424; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2424: + /* 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); + v2gConnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus = (v2gelectricalChargingDeviceStatusType) 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 = 1519; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1519: + /* 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); + v2gConnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus = (v2gmechanicalChargingDeviceStatusType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPowerDemandReqType(bitstream_t* stream, struct v2gPowerDemandReqType* v2gPowerDemandReqType) { + int grammarID = 2425; + int done = 0; + + init_v2gPowerDemandReqType(v2gPowerDemandReqType); + + while(!done) { + switch(grammarID) { + case 2425: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetEnergyRequest); + grammarID = 2426; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2426: + /* 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_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVMaximumEnergyRequest); + v2gPowerDemandReqType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 2427; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVMinimumEnergyRequest); + v2gPowerDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2428; + break; + case 2: + errn = decode_v2gDisplayParametersType(stream, &v2gPowerDemandReqType->DisplayParameters); + v2gPowerDemandReqType->DisplayParameters_isUsed = 1u; + grammarID = 2429; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetPower); + grammarID = 2430; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2427: + /* 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_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVMinimumEnergyRequest); + v2gPowerDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2428; + break; + case 1: + errn = decode_v2gDisplayParametersType(stream, &v2gPowerDemandReqType->DisplayParameters); + v2gPowerDemandReqType->DisplayParameters_isUsed = 1u; + grammarID = 2429; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetPower); + grammarID = 2430; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2428: + /* 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_v2gDisplayParametersType(stream, &v2gPowerDemandReqType->DisplayParameters); + v2gPowerDemandReqType->DisplayParameters_isUsed = 1u; + grammarID = 2429; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetPower); + grammarID = 2430; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2429: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetPower); + grammarID = 2430; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2430: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVInputPower); + grammarID = 2431; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2431: + /* 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_v2gParameterSetType(stream, &v2gPowerDemandReqType->PowerDemandParameters); + v2gPowerDemandReqType->PowerDemandParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gLFA_EVFinePositioningParametersType(bitstream_t* stream, struct v2gLFA_EVFinePositioningParametersType* v2gLFA_EVFinePositioningParametersType) { + int grammarID = 57; + int done = 0; + + init_v2gLFA_EVFinePositioningParametersType(v2gLFA_EVFinePositioningParametersType); + + while(!done) { + switch(grammarID) { + case 57: + /* 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)); + v2gLFA_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 = 58; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 58: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gSensorPackageListType(stream, &v2gLFA_EVFinePositioningParametersType->SensorPackageList); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gTransformType(bitstream_t* stream, struct v2gTransformType* v2gTransformType) { + int grammarID = 2432; + int done = 0; + + init_v2gTransformType(v2gTransformType); + + while(!done) { + switch(grammarID) { + case 2432: + /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decodeUnsignedInteger16(stream, &v2gTransformType->Algorithm.charactersLen); + if (errn == 0) { + if (v2gTransformType->Algorithm.charactersLen >= 2) { + v2gTransformType->Algorithm.charactersLen = (uint16_t)(v2gTransformType->Algorithm.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gTransformType->Algorithm.charactersLen, v2gTransformType->Algorithm.characters, v2gTransformType_Algorithm_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 2433; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2433: + /* 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 (v2gTransformType->XPath.arrayLen < v2gTransformType_XPath_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen); + if (errn == 0) { + if (v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen >= 2) { + v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen = (uint16_t)(v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen, v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].characters, v2gTransformType_XPath_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gTransformType->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 = 2434; + } 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 = 2434; + break; + case 2: + done = 1; + grammarID = 3; + break; + case 3: + errn = decodeUnsignedInteger16(stream, &v2gTransformType->ANY.charactersLen); + if (errn == 0) { + if (v2gTransformType->ANY.charactersLen >= 2) { + v2gTransformType->ANY.charactersLen = (uint16_t)(v2gTransformType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gTransformType->ANY.charactersLen, v2gTransformType->ANY.characters, v2gTransformType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gTransformType->ANY_isUsed = 1u; + grammarID = 2434; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2434: + /* 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 (v2gTransformType->XPath.arrayLen < v2gTransformType_XPath_ARRAY_SIZE) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen); + if (errn == 0) { + if (v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen >= 2) { + v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen = (uint16_t)(v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen, v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].characters, v2gTransformType_XPath_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gTransformType->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 = 2434; + } 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 = 2434; + break; + case 2: + done = 1; + grammarID = 3; + break; + case 3: + errn = decodeUnsignedInteger16(stream, &v2gTransformType->ANY.charactersLen); + if (errn == 0) { + if (v2gTransformType->ANY.charactersLen >= 2) { + v2gTransformType->ANY.charactersLen = (uint16_t)(v2gTransformType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gTransformType->ANY.charactersLen, v2gTransformType->ANY.characters, v2gTransformType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gTransformType->ANY_isUsed = 1u; + grammarID = 2434; + 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_v2gObjectType(bitstream_t* stream, struct v2gObjectType* v2gObjectType) { + int grammarID = 2435; + int done = 0; + + init_v2gObjectType(v2gObjectType); + + while(!done) { + switch(grammarID) { + case 2435: + /* 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, &v2gObjectType->Encoding.charactersLen); + if (errn == 0) { + if (v2gObjectType->Encoding.charactersLen >= 2) { + v2gObjectType->Encoding.charactersLen = (uint16_t)(v2gObjectType->Encoding.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->Encoding.charactersLen, v2gObjectType->Encoding.characters, v2gObjectType_Encoding_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->Encoding_isUsed = 1u; + grammarID = 2436; + break; + case 1: + errn = decodeUnsignedInteger16(stream, &v2gObjectType->Id.charactersLen); + if (errn == 0) { + if (v2gObjectType->Id.charactersLen >= 2) { + v2gObjectType->Id.charactersLen = (uint16_t)(v2gObjectType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->Id.charactersLen, v2gObjectType->Id.characters, v2gObjectType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->Id_isUsed = 1u; + grammarID = 2437; + break; + case 2: + errn = decodeUnsignedInteger16(stream, &v2gObjectType->MimeType.charactersLen); + if (errn == 0) { + if (v2gObjectType->MimeType.charactersLen >= 2) { + v2gObjectType->MimeType.charactersLen = (uint16_t)(v2gObjectType->MimeType.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->MimeType.charactersLen, v2gObjectType->MimeType.characters, v2gObjectType_MimeType_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->MimeType_isUsed = 1u; + grammarID = 1848; + break; + case 3: + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + /* TODO unsupported event : START_ELEMENT_GENERIC */ + grammarID = 904; + break; + case 4: + done = 1; + grammarID = 3; + break; + case 5: + errn = decodeUnsignedInteger16(stream, &v2gObjectType->ANY.charactersLen); + if (errn == 0) { + if (v2gObjectType->ANY.charactersLen >= 2) { + v2gObjectType->ANY.charactersLen = (uint16_t)(v2gObjectType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->ANY.charactersLen, v2gObjectType->ANY.characters, v2gObjectType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->ANY_isUsed = 1u; + grammarID = 904; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2436: + /* 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, &v2gObjectType->Id.charactersLen); + if (errn == 0) { + if (v2gObjectType->Id.charactersLen >= 2) { + v2gObjectType->Id.charactersLen = (uint16_t)(v2gObjectType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->Id.charactersLen, v2gObjectType->Id.characters, v2gObjectType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->Id_isUsed = 1u; + grammarID = 2437; + break; + case 1: + errn = decodeUnsignedInteger16(stream, &v2gObjectType->MimeType.charactersLen); + if (errn == 0) { + if (v2gObjectType->MimeType.charactersLen >= 2) { + v2gObjectType->MimeType.charactersLen = (uint16_t)(v2gObjectType->MimeType.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->MimeType.charactersLen, v2gObjectType->MimeType.characters, v2gObjectType_MimeType_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->MimeType_isUsed = 1u; + grammarID = 1848; + break; + case 2: + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + /* TODO unsupported event : START_ELEMENT_GENERIC */ + grammarID = 904; + break; + case 3: + done = 1; + grammarID = 3; + break; + case 4: + errn = decodeUnsignedInteger16(stream, &v2gObjectType->ANY.charactersLen); + if (errn == 0) { + if (v2gObjectType->ANY.charactersLen >= 2) { + v2gObjectType->ANY.charactersLen = (uint16_t)(v2gObjectType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->ANY.charactersLen, v2gObjectType->ANY.characters, v2gObjectType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->ANY_isUsed = 1u; + grammarID = 904; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2437: + /* 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, &v2gObjectType->MimeType.charactersLen); + if (errn == 0) { + if (v2gObjectType->MimeType.charactersLen >= 2) { + v2gObjectType->MimeType.charactersLen = (uint16_t)(v2gObjectType->MimeType.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->MimeType.charactersLen, v2gObjectType->MimeType.characters, v2gObjectType_MimeType_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->MimeType_isUsed = 1u; + grammarID = 1848; + break; + case 1: + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + /* TODO unsupported event : START_ELEMENT_GENERIC */ + grammarID = 904; + break; + case 2: + done = 1; + grammarID = 3; + break; + case 3: + errn = decodeUnsignedInteger16(stream, &v2gObjectType->ANY.charactersLen); + if (errn == 0) { + if (v2gObjectType->ANY.charactersLen >= 2) { + v2gObjectType->ANY.charactersLen = (uint16_t)(v2gObjectType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->ANY.charactersLen, v2gObjectType->ANY.characters, v2gObjectType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->ANY_isUsed = 1u; + grammarID = 904; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1848: + /* 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 = 904; + break; + case 1: + done = 1; + grammarID = 3; + break; + case 2: + errn = decodeUnsignedInteger16(stream, &v2gObjectType->ANY.charactersLen); + if (errn == 0) { + if (v2gObjectType->ANY.charactersLen >= 2) { + v2gObjectType->ANY.charactersLen = (uint16_t)(v2gObjectType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->ANY.charactersLen, v2gObjectType->ANY.characters, v2gObjectType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->ANY_isUsed = 1u; + grammarID = 904; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 904: + /* 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 = 904; + break; + case 1: + done = 1; + grammarID = 3; + break; + case 2: + errn = decodeUnsignedInteger16(stream, &v2gObjectType->ANY.charactersLen); + if (errn == 0) { + if (v2gObjectType->ANY.charactersLen >= 2) { + v2gObjectType->ANY.charactersLen = (uint16_t)(v2gObjectType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gObjectType->ANY.charactersLen, v2gObjectType->ANY.characters, v2gObjectType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gObjectType->ANY_isUsed = 1u; + grammarID = 904; + 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_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType) { + int grammarID = 2438; + int done = 0; + + init_v2gPowerDeliveryReqType(v2gPowerDeliveryReqType); + + while(!done) { + switch(grammarID) { + case 2438: + /* 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); + v2gPowerDeliveryReqType->ChargeProgress = (v2gchargeProgressType) 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 = 2439; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2439: + /* 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); + v2gPowerDeliveryReqType->EVOperation = (v2gEVOperationType) uint32; + v2gPowerDeliveryReqType->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 = 2440; + } 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)); + v2gPowerDeliveryReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); + v2gPowerDeliveryReqType->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 = 2441; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + errn = decode_v2gChargingProfileType(stream, &v2gPowerDeliveryReqType->ChargingProfile); + v2gPowerDeliveryReqType->ChargingProfile_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2440: + /* 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)); + v2gPowerDeliveryReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); + v2gPowerDeliveryReqType->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 = 2441; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + errn = decode_v2gChargingProfileType(stream, &v2gPowerDeliveryReqType->ChargingProfile); + v2gPowerDeliveryReqType->ChargingProfile_isUsed = 1u; + grammarID = 2; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2441: + /* 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_v2gChargingProfileType(stream, &v2gPowerDeliveryReqType->ChargingProfile); + v2gPowerDeliveryReqType->ChargingProfile_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gGeneric_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gGeneric_EVSEFinePositioningParametersType* v2gGeneric_EVSEFinePositioningParametersType) { + int grammarID = 586; + int done = 0; + + init_v2gGeneric_EVSEFinePositioningParametersType(v2gGeneric_EVSEFinePositioningParametersType); + + while(!done) { + switch(grammarID) { + case 586: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gParameterSetType(stream, &v2gGeneric_EVSEFinePositioningParametersType->GenericParameters); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSensorPackageListType(bitstream_t* stream, struct v2gSensorPackageListType* v2gSensorPackageListType) { + int grammarID = 2442; + int done = 0; + + init_v2gSensorPackageListType(v2gSensorPackageListType); + + while(!done) { + switch(grammarID) { + case 2442: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2443; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2443: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2444; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2444: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2445; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2445: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2446; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2446: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2447; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2447: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2448; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2448: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2449; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2449: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2450; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2450: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2451; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2451: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2452; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2452: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2453; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2453: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2454; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2454: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2455; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2455: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2456; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2456: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2457; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2457: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2458; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2458: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2459; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2459: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2460; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2460: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2461; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2461: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2462; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2462: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2463; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2463: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2464; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2464: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2465; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2465: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2466; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2466: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2467; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2467: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2468; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2468: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2469; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2469: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2470; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2470: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2471; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2471: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2472; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2472: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2473; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2473: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2474; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2474: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2475; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2475: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2476; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2476: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2477; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2477: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2478; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2478: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2479; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2479: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2480; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2480: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2481; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2481: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2482; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2482: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2483; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2483: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2484; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2484: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2485; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2485: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2486; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2486: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2487; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2487: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2488; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2488: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2489; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2489: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2490; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2490: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2491; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2491: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2492; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2492: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2493; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2493: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2494; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2494: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2495; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2495: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2496; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2496: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2497; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2497: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2498; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2498: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2499; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2499: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2500; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2500: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2501; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2501: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2502; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2502: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2503; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2503: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2504; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2504: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2505; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2505: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2506; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2506: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2507; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2507: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2508; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2508: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2509; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2509: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2510; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2510: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2511; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2511: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2512; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2512: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2513; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2513: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2514; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2514: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2515; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2515: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2516; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2516: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2517; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2517: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2518; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2518: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2519; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2519: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2520; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2520: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2521; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2521: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2522; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2522: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2523; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2523: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2524; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2524: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2525; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2525: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2526; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2526: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2527; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2527: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2528; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2528: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2529; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2529: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2530; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2530: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2531; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2531: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2532; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2532: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2533; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2533: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2534; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2534: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2535; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2535: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2536; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2536: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2537; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2537: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2538; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2538: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2539; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2539: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2540; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2540: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2541; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2541: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2542; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2542: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2543; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2543: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2544; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2544: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2545; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2545: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2546; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2546: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2547; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2547: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2548; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2548: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2549; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2549: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2550; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2550: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2551; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2551: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2552; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2552: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2553; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2553: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2554; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2554: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2555; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2555: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2556; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2556: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2557; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2557: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2558; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2558: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2559; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2559: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2560; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2560: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2561; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2561: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2562; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2562: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2563; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2563: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2564; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2564: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2565; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2565: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2566; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2566: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2567; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2567: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2568; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2568: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2569; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2569: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2570; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2570: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2571; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2571: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2572; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2572: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2573; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2573: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2574; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2574: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2575; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2575: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2576; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2576: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2577; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2577: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2578; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2578: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2579; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2579: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2580; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2580: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2581; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2581: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2582; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2582: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2583; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2583: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2584; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2584: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2585; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2585: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2586; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2586: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2587; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2587: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2588; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2588: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2589; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2589: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2590; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2590: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2591; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2591: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2592; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2592: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2593; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2593: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2594; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2594: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2595; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2595: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2596; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2596: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2597; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2597: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2598; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2598: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2599; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2599: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2600; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2600: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2601; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2601: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2602; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2602: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2603; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2603: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2604; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2604: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2605; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2605: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2606; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2606: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2607; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2607: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2608; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2608: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2609; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2609: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2610; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2610: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2611; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2611: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2612; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2612: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2613; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2613: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2614; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2614: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2615; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2615: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2616; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2616: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2617; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2617: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2618; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2618: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2619; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2619: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2620; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2620: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2621; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2621: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2622; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2622: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2623; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2623: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2624; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2624: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2625; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2625: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2626; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2626: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2627; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2627: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2628; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2628: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2629; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2629: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2630; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2630: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2631; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2631: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2632; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2632: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2633; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2633: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2634; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2634: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2635; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2635: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2636; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2636: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2637; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2637: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2638; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2638: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2639; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2639: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2640; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2640: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2641; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2641: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2642; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2642: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2643; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2643: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2644; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2644: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2645; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2645: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2646; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2646: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2647; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2647: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2648; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2648: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2649; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2649: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2650; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2650: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2651; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2651: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2652; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2652: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2653; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2653: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2654; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2654: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2655; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2655: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2656; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2656: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2657; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2657: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2658; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2658: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2659; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2659: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2660; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2660: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2661; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2661: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2662; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2662: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2663; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2663: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2664; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2664: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2665; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2665: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2666; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2666: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2667; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2667: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2668; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2668: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2669; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2669: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2670; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2670: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2671; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2671: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2672; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2672: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2673; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2673: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2674; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2674: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2675; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2675: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2676; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2676: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2677; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2677: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2678; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2678: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2679; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2679: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2680; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2680: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2681; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2681: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2682; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2682: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2683; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2683: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2684; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2684: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2685; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2685: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2686; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2686: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2687; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2687: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2688; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2688: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2689; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2689: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2690; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2690: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2691; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2691: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2692; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2692: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2693; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2693: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2694; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2694: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2695; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2695: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2696; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2696: + /* 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 (v2gSensorPackageListType->SensorPackage.arrayLen < v2gSensorPackageListType_SensorPackage_ARRAY_SIZE) { + errn = decode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array[v2gSensorPackageListType->SensorPackage.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPaymentDetailsResType(bitstream_t* stream, struct v2gPaymentDetailsResType* v2gPaymentDetailsResType) { + int grammarID = 2697; + int done = 0; + + init_v2gPaymentDetailsResType(v2gPaymentDetailsResType); + + while(!done) { + switch(grammarID) { + case 2697: + /* 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); + v2gPaymentDetailsResType->ResponseCode = (v2gresponseCodeType) 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 = 2698; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2698: + /* 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_v2gEVSEStatusType(stream, &v2gPaymentDetailsResType->EVSEStatus); + v2gPaymentDetailsResType->EVSEStatus_isUsed = 1u; + grammarID = 2699; + break; + case 1: + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gPaymentDetailsResType->GenChallenge.bytesLen); + if (errn == 0) { + errn = (v2gPaymentDetailsResType->GenChallenge.bytesLen) <= v2gPaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gPaymentDetailsResType->GenChallenge.bytesLen, v2gPaymentDetailsResType->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 = 2700; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2699: + /* 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, &v2gPaymentDetailsResType->GenChallenge.bytesLen); + if (errn == 0) { + errn = (v2gPaymentDetailsResType->GenChallenge.bytesLen) <= v2gPaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gPaymentDetailsResType->GenChallenge.bytesLen, v2gPaymentDetailsResType->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 = 2700; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2700: + /* 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, &v2gPaymentDetailsResType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gAnonType_V2G_Message(bitstream_t* stream, struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message) { + int grammarID = 2701; + int done = 0; + + init_v2gAnonType_V2G_Message(v2gAnonType_V2G_Message); + + while(!done) { + switch(grammarID) { + case 2701: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gMessageHeaderType(stream, &v2gAnonType_V2G_Message->Header); + grammarID = 2702; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2702: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gBodyType(stream, &v2gAnonType_V2G_Message->Body); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gAC_BidirectionalControlReqType(bitstream_t* stream, struct v2gAC_BidirectionalControlReqType* v2gAC_BidirectionalControlReqType) { + int grammarID = 2703; + int done = 0; + + init_v2gAC_BidirectionalControlReqType(v2gAC_BidirectionalControlReqType); + + while(!done) { + switch(grammarID) { + case 2703: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVTargetEnergyRequest); + grammarID = 2704; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2704: + /* 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_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumEnergyRequest); + v2gAC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 2705; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest); + v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2706; + break; + case 2: + errn = decode_v2gDisplayParametersType(stream, &v2gAC_BidirectionalControlReqType->DisplayParameters); + v2gAC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; + grammarID = 2707; + break; + case 3: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 1, &uint32); + v2gAC_BidirectionalControlReqType->EVOperation = (v2gEVOperationType) uint32; + v2gAC_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 = 2708; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 4: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower); + grammarID = 2709; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2705: + /* 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_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest); + v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2706; + break; + case 1: + errn = decode_v2gDisplayParametersType(stream, &v2gAC_BidirectionalControlReqType->DisplayParameters); + v2gAC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; + grammarID = 2707; + break; + case 2: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 1, &uint32); + v2gAC_BidirectionalControlReqType->EVOperation = (v2gEVOperationType) uint32; + v2gAC_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 = 2708; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower); + grammarID = 2709; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2706: + /* 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_v2gDisplayParametersType(stream, &v2gAC_BidirectionalControlReqType->DisplayParameters); + v2gAC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; + grammarID = 2707; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 1, &uint32); + v2gAC_BidirectionalControlReqType->EVOperation = (v2gEVOperationType) uint32; + v2gAC_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 = 2708; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower); + grammarID = 2709; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2707: + /* 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); + v2gAC_BidirectionalControlReqType->EVOperation = (v2gEVOperationType) uint32; + v2gAC_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 = 2708; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower); + grammarID = 2709; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2708: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower); + grammarID = 2709; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2709: + /* 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_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumDischargePower); + v2gAC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2710; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargeCurrent); + grammarID = 2711; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2710: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargeCurrent); + grammarID = 2711; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2711: + /* 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_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumDischargeCurrent); + v2gAC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 1u; + grammarID = 2712; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumChargeCurrent); + grammarID = 2713; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2712: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumChargeCurrent); + grammarID = 2713; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2713: + /* 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_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumDischargeCurrent); + v2gAC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed = 1u; + grammarID = 2714; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVPresentActivePower); + grammarID = 2715; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2714: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVPresentActivePower); + grammarID = 2715; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2715: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVPresentReactivePower); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gBodyBaseType(bitstream_t* stream, struct v2gBodyBaseType* v2gBodyBaseType) { + int grammarID = 4; + int done = 0; + + init_v2gBodyBaseType(v2gBodyBaseType); + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionStopReqType* v2gSessionStopReqType) { + int grammarID = 2716; + int done = 0; + + init_v2gSessionStopReqType(v2gSessionStopReqType); + + while(!done) { + switch(grammarID) { + case 2716: + /* 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); + v2gSessionStopReqType->ChargingSession = (v2gchargingSessionType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gEntryType(bitstream_t* stream, struct v2gEntryType* v2gEntryType) { + int grammarID = 2717; + int done = 0; + + init_v2gEntryType(v2gEntryType); + + while(!done) { + switch(grammarID) { + case 2717: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gRelativeTimeIntervalType(stream, &v2gEntryType->RelativeTimeInterval); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gPowerDemandResType(bitstream_t* stream, struct v2gPowerDemandResType* v2gPowerDemandResType) { + int grammarID = 2718; + int done = 0; + + init_v2gPowerDemandResType(v2gPowerDemandResType); + + while(!done) { + switch(grammarID) { + case 2718: + /* 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); + v2gPowerDemandResType->ResponseCode = (v2gresponseCodeType) 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 = 2719; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2719: + /* 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_v2gEVSEStatusType(stream, &v2gPowerDemandResType->EVSEStatus); + v2gPowerDemandResType->EVSEStatus_isUsed = 1u; + grammarID = 2720; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gPowerDemandResType->EVSEOutputPower); + grammarID = 2721; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2720: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gPowerDemandResType->EVSEOutputPower); + grammarID = 2721; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2721: + /* 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, &v2gPowerDemandResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gPowerDemandResType->EVSEID.charactersLen >= 2) { + v2gPowerDemandResType->EVSEID.charactersLen = (uint16_t)(v2gPowerDemandResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gPowerDemandResType->EVSEID.charactersLen, v2gPowerDemandResType->EVSEID.characters, v2gPowerDemandResType_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 = 2722; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2722: + /* 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)); + v2gPowerDemandResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); + v2gPowerDemandResType->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 = 2723; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + errn = decode_v2gMeterInfoType(stream, &v2gPowerDemandResType->MeterInfo); + v2gPowerDemandResType->MeterInfo_isUsed = 1u; + grammarID = 2724; + break; + case 2: + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeBoolean(stream, &v2gPowerDemandResType->ReceiptRequired); + v2gPowerDemandResType->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 = 2431; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + errn = decode_v2gParameterSetType(stream, &v2gPowerDemandResType->PowerDemandParameters); + v2gPowerDemandResType->PowerDemandParameters_isUsed = 1u; + grammarID = 2; + break; + case 4: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2723: + /* 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_v2gMeterInfoType(stream, &v2gPowerDemandResType->MeterInfo); + v2gPowerDemandResType->MeterInfo_isUsed = 1u; + grammarID = 2724; + break; + case 1: + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeBoolean(stream, &v2gPowerDemandResType->ReceiptRequired); + v2gPowerDemandResType->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 = 2431; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + errn = decode_v2gParameterSetType(stream, &v2gPowerDemandResType->PowerDemandParameters); + v2gPowerDemandResType->PowerDemandParameters_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2724: + /* 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, &v2gPowerDemandResType->ReceiptRequired); + v2gPowerDemandResType->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 = 2431; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + errn = decode_v2gParameterSetType(stream, &v2gPowerDemandResType->PowerDemandParameters); + v2gPowerDemandResType->PowerDemandParameters_isUsed = 1u; + grammarID = 2; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2431: + /* 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_v2gParameterSetType(stream, &v2gPowerDemandResType->PowerDemandParameters); + v2gPowerDemandResType->PowerDemandParameters_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionSetupResType* v2gSessionSetupResType) { + int grammarID = 2725; + int done = 0; + + init_v2gSessionSetupResType(v2gSessionSetupResType); + + while(!done) { + switch(grammarID) { + case 2725: + /* 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); + v2gSessionSetupResType->ResponseCode = (v2gresponseCodeType) 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 = 2726; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2726: + /* 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_v2gEVSEStatusType(stream, &v2gSessionSetupResType->EVSEStatus); + v2gSessionSetupResType->EVSEStatus_isUsed = 1u; + grammarID = 2727; + break; + case 1: + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gSessionSetupResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gSessionSetupResType->EVSEID.charactersLen >= 2) { + v2gSessionSetupResType->EVSEID.charactersLen = (uint16_t)(v2gSessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSessionSetupResType->EVSEID.charactersLen, v2gSessionSetupResType->EVSEID.characters, v2gSessionSetupResType_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 = 2728; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2727: + /* 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, &v2gSessionSetupResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gSessionSetupResType->EVSEID.charactersLen >= 2) { + v2gSessionSetupResType->EVSEID.charactersLen = (uint16_t)(v2gSessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gSessionSetupResType->EVSEID.charactersLen, v2gSessionSetupResType->EVSEID.characters, v2gSessionSetupResType_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 = 2728; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2728: + /* 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, &v2gSessionSetupResType->EVSETimeStamp); + v2gSessionSetupResType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gVehicleCheckOutResType(bitstream_t* stream, struct v2gVehicleCheckOutResType* v2gVehicleCheckOutResType) { + int grammarID = 2729; + int done = 0; + + init_v2gVehicleCheckOutResType(v2gVehicleCheckOutResType); + + while(!done) { + switch(grammarID) { + case 2729: + /* 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); + v2gVehicleCheckOutResType->ResponseCode = (v2gresponseCodeType) 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 = 2730; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2730: + /* 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_v2gEVSEStatusType(stream, &v2gVehicleCheckOutResType->EVSEStatus); + v2gVehicleCheckOutResType->EVSEStatus_isUsed = 1u; + grammarID = 2731; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gVehicleCheckOutResType->EVSECheckOutStatus = (v2gEVCheckOutStatusType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2731: + /* 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); + v2gVehicleCheckOutResType->EVSECheckOutStatus = (v2gEVCheckOutStatusType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gKeyValueType(bitstream_t* stream, struct v2gKeyValueType* v2gKeyValueType) { + int grammarID = 2732; + int done = 0; + + init_v2gKeyValueType(v2gKeyValueType); + + while(!done) { + switch(grammarID) { + case 2732: + /* 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_v2gDSAKeyValueType(stream, &v2gKeyValueType->DSAKeyValue); + v2gKeyValueType->DSAKeyValue_isUsed = 1u; + grammarID = 2733; + break; + case 1: + errn = decode_v2gRSAKeyValueType(stream, &v2gKeyValueType->RSAKeyValue); + v2gKeyValueType->RSAKeyValue_isUsed = 1u; + grammarID = 2733; + break; + case 2: + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + /* TODO unsupported event : START_ELEMENT_GENERIC */ + grammarID = 2733; + break; + case 3: + errn = decodeUnsignedInteger16(stream, &v2gKeyValueType->ANY.charactersLen); + if (errn == 0) { + if (v2gKeyValueType->ANY.charactersLen >= 2) { + v2gKeyValueType->ANY.charactersLen = (uint16_t)(v2gKeyValueType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyValueType->ANY.charactersLen, v2gKeyValueType->ANY.characters, v2gKeyValueType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyValueType->ANY_isUsed = 1u; + grammarID = 2734; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2733: + /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + break; + case 1: + errn = decodeUnsignedInteger16(stream, &v2gKeyValueType->ANY.charactersLen); + if (errn == 0) { + if (v2gKeyValueType->ANY.charactersLen >= 2) { + v2gKeyValueType->ANY.charactersLen = (uint16_t)(v2gKeyValueType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyValueType->ANY.charactersLen, v2gKeyValueType->ANY.characters, v2gKeyValueType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyValueType->ANY_isUsed = 1u; + grammarID = 2733; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2734: + /* 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_v2gDSAKeyValueType(stream, &v2gKeyValueType->DSAKeyValue); + v2gKeyValueType->DSAKeyValue_isUsed = 1u; + grammarID = 2733; + break; + case 1: + errn = decode_v2gRSAKeyValueType(stream, &v2gKeyValueType->RSAKeyValue); + v2gKeyValueType->RSAKeyValue_isUsed = 1u; + grammarID = 2733; + break; + case 2: + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + /* TODO unsupported event : START_ELEMENT_GENERIC */ + grammarID = 2733; + break; + case 3: + errn = decodeUnsignedInteger16(stream, &v2gKeyValueType->ANY.charactersLen); + if (errn == 0) { + if (v2gKeyValueType->ANY.charactersLen >= 2) { + v2gKeyValueType->ANY.charactersLen = (uint16_t)(v2gKeyValueType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gKeyValueType->ANY.charactersLen, v2gKeyValueType->ANY.characters, v2gKeyValueType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gKeyValueType->ANY_isUsed = 1u; + grammarID = 2734; + 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_v2gEMAIDType(bitstream_t* stream, struct v2gEMAIDType* v2gEMAIDType) { + int grammarID = 2735; + int done = 0; + + init_v2gEMAIDType(v2gEMAIDType); + + while(!done) { + switch(grammarID) { + case 2735: + /* 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, &v2gEMAIDType->Id.charactersLen); + if (errn == 0) { + if (v2gEMAIDType->Id.charactersLen >= 2) { + v2gEMAIDType->Id.charactersLen = (uint16_t)(v2gEMAIDType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gEMAIDType->Id.charactersLen, v2gEMAIDType->Id.characters, v2gEMAIDType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 2736; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2736: + /* StartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decodeUnsignedInteger16(stream, &v2gEMAIDType->CONTENT.charactersLen); + if (errn == 0) { + if (v2gEMAIDType->CONTENT.charactersLen >= 2) { + v2gEMAIDType->CONTENT.charactersLen = (uint16_t)(v2gEMAIDType->CONTENT.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gEMAIDType->CONTENT.charactersLen, v2gEMAIDType->CONTENT.characters, v2gEMAIDType_CONTENT_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gTransformsType(bitstream_t* stream, struct v2gTransformsType* v2gTransformsType) { + int grammarID = 2737; + int done = 0; + + init_v2gTransformsType(v2gTransformsType); + + while(!done) { + switch(grammarID) { + case 2737: + /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gTransformsType->Transform.arrayLen < v2gTransformsType_Transform_ARRAY_SIZE) { + errn = decode_v2gTransformType(stream, &v2gTransformsType->Transform.array[v2gTransformsType->Transform.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2738; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2738: + /* 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 (v2gTransformsType->Transform.arrayLen < v2gTransformsType_Transform_ARRAY_SIZE) { + errn = decode_v2gTransformType(stream, &v2gTransformsType->Transform.array[v2gTransformsType->Transform.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2738; + break; + case 1: + done = 1; + grammarID = 3; + 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_v2gCurrentDemandReqType(bitstream_t* stream, struct v2gCurrentDemandReqType* v2gCurrentDemandReqType) { + int grammarID = 2739; + int done = 0; + + init_v2gCurrentDemandReqType(v2gCurrentDemandReqType); + + while(!done) { + switch(grammarID) { + case 2739: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetEnergyRequest); + grammarID = 2740; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2740: + /* 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_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumEnergyRequest); + v2gCurrentDemandReqType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 2741; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMinimumEnergyRequest); + v2gCurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2742; + break; + case 2: + errn = decode_v2gDisplayParametersType(stream, &v2gCurrentDemandReqType->DisplayParameters); + v2gCurrentDemandReqType->DisplayParameters_isUsed = 1u; + grammarID = 2743; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent); + grammarID = 2744; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2741: + /* 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_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMinimumEnergyRequest); + v2gCurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2742; + break; + case 1: + errn = decode_v2gDisplayParametersType(stream, &v2gCurrentDemandReqType->DisplayParameters); + v2gCurrentDemandReqType->DisplayParameters_isUsed = 1u; + grammarID = 2743; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent); + grammarID = 2744; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2742: + /* 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_v2gDisplayParametersType(stream, &v2gCurrentDemandReqType->DisplayParameters); + v2gCurrentDemandReqType->DisplayParameters_isUsed = 1u; + grammarID = 2743; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent); + grammarID = 2744; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2743: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent); + grammarID = 2744; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2744: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetVoltage); + grammarID = 2745; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2745: + /* 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_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumCurrent); + v2gCurrentDemandReqType->EVMaximumCurrent_isUsed = 1u; + grammarID = 2746; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPower); + v2gCurrentDemandReqType->EVMaximumPower_isUsed = 1u; + grammarID = 2747; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumVoltage); + v2gCurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2746: + /* 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_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPower); + v2gCurrentDemandReqType->EVMaximumPower_isUsed = 1u; + grammarID = 2747; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumVoltage); + v2gCurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; + grammarID = 2; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2747: + /* 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_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumVoltage); + v2gCurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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#,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_v2gRetrievalMethodType(bitstream_t* stream, struct v2gRetrievalMethodType* v2gRetrievalMethodType) { + int grammarID = 2748; + int done = 0; + + init_v2gRetrievalMethodType(v2gRetrievalMethodType); + + while(!done) { + switch(grammarID) { + case 2748: + /* 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, &v2gRetrievalMethodType->Type.charactersLen); + if (errn == 0) { + if (v2gRetrievalMethodType->Type.charactersLen >= 2) { + v2gRetrievalMethodType->Type.charactersLen = (uint16_t)(v2gRetrievalMethodType->Type.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gRetrievalMethodType->Type.charactersLen, v2gRetrievalMethodType->Type.characters, v2gRetrievalMethodType_Type_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gRetrievalMethodType->Type_isUsed = 1u; + grammarID = 2749; + break; + case 1: + errn = decodeUnsignedInteger16(stream, &v2gRetrievalMethodType->URI.charactersLen); + if (errn == 0) { + if (v2gRetrievalMethodType->URI.charactersLen >= 2) { + v2gRetrievalMethodType->URI.charactersLen = (uint16_t)(v2gRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gRetrievalMethodType->URI.charactersLen, v2gRetrievalMethodType->URI.characters, v2gRetrievalMethodType_URI_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gRetrievalMethodType->URI_isUsed = 1u; + grammarID = 2750; + break; + case 2: + errn = decode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms); + v2gRetrievalMethodType->Transforms_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2749: + /* 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, &v2gRetrievalMethodType->URI.charactersLen); + if (errn == 0) { + if (v2gRetrievalMethodType->URI.charactersLen >= 2) { + v2gRetrievalMethodType->URI.charactersLen = (uint16_t)(v2gRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gRetrievalMethodType->URI.charactersLen, v2gRetrievalMethodType->URI.characters, v2gRetrievalMethodType_URI_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gRetrievalMethodType->URI_isUsed = 1u; + grammarID = 2750; + break; + case 1: + errn = decode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms); + v2gRetrievalMethodType->Transforms_isUsed = 1u; + grammarID = 2; + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2750: + /* 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_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms); + v2gRetrievalMethodType->Transforms_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gServiceListType(bitstream_t* stream, struct v2gServiceListType* v2gServiceListType) { + int grammarID = 2751; + int done = 0; + + init_v2gServiceListType(v2gServiceListType); + + while(!done) { + switch(grammarID) { + case 2751: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { + errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2752; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2752: + /* 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 (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { + errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2753; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2753: + /* 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 (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { + errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2754; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2754: + /* 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 (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { + errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2755; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2755: + /* 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 (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { + errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2756; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2756: + /* 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 (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { + errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2757; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2757: + /* 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 (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { + errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2758; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2758: + /* 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 (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { + errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gDC_EVBidirectionalParameterType(bitstream_t* stream, struct v2gDC_EVBidirectionalParameterType* v2gDC_EVBidirectionalParameterType) { + int grammarID = 2759; + int done = 0; + + init_v2gDC_EVBidirectionalParameterType(v2gDC_EVBidirectionalParameterType); + + while(!done) { + switch(grammarID) { + case 2759: + /* 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, &v2gDC_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 = 2760; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2760: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumChargePower); + v2gDC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed = 1u; + grammarID = 2761; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumChargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 1u; + grammarID = 2762; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumChargeCurrent); + grammarID = 2763; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2761: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumChargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 1u; + grammarID = 2762; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumChargeCurrent); + grammarID = 2763; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2762: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumChargeCurrent); + grammarID = 2763; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2763: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumChargeCurrent); + grammarID = 2764; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2764: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumVoltage); + grammarID = 2765; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2765: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVTargetEnergyRequest); + v2gDC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 1u; + grammarID = 2766; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest); + v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 2767; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest); + v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2768; + break; + case 3: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2769; + } 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)); + v2gDC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2770; + } 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)); + v2gDC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2771; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 6: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2772; + break; + case 7: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; + grammarID = 2773; + break; + case 8: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 2774; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2766: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest); + v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 2767; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest); + v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2768; + break; + case 2: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2769; + } 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)); + v2gDC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2770; + } 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)); + v2gDC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2771; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 5: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2772; + break; + case 6: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; + grammarID = 2773; + break; + case 7: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 2774; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2767: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest); + v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2768; + break; + case 1: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2769; + } 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)); + v2gDC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2770; + } 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)); + v2gDC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2771; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 4: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2772; + break; + case 5: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; + grammarID = 2773; + break; + case 6: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 2774; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2768: + /* 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)); + v2gDC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2769; + } 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)); + v2gDC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2770; + } 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)); + v2gDC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2771; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2772; + break; + case 4: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; + grammarID = 2773; + break; + case 5: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 2774; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2769: + /* 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)); + v2gDC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2770; + } 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)); + v2gDC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2771; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2772; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; + grammarID = 2773; + break; + case 4: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 2774; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2770: + /* 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)); + v2gDC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2771; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2772; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; + grammarID = 2773; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 2774; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2771: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; + grammarID = 2772; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; + grammarID = 2773; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 2774; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2772: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower); + v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; + grammarID = 2773; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 2774; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2773: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); + grammarID = 2774; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2774: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargeCurrent); + grammarID = 2775; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2775: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumVoltage); + grammarID = 2776; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2776: + /* 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)); + v2gDC_EVBidirectionalParameterType->MinimumSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gServiceDetailResType(bitstream_t* stream, struct v2gServiceDetailResType* v2gServiceDetailResType) { + int grammarID = 2777; + int done = 0; + + init_v2gServiceDetailResType(v2gServiceDetailResType); + + while(!done) { + switch(grammarID) { + case 2777: + /* 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); + v2gServiceDetailResType->ResponseCode = (v2gresponseCodeType) 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 = 2778; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2778: + /* 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_v2gEVSEStatusType(stream, &v2gServiceDetailResType->EVSEStatus); + v2gServiceDetailResType->EVSEStatus_isUsed = 1u; + grammarID = 2779; + break; + case 1: + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gServiceDetailResType->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 = 2780; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2779: + /* 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, &v2gServiceDetailResType->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 = 2780; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2780: + /* 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_v2gServiceParameterListType(stream, &v2gServiceDetailResType->ServiceParameterList); + v2gServiceDetailResType->ServiceParameterList_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gSelectedServiceListType(bitstream_t* stream, struct v2gSelectedServiceListType* v2gSelectedServiceListType) { + int grammarID = 2781; + int done = 0; + + init_v2gSelectedServiceListType(v2gSelectedServiceListType); + + while(!done) { + switch(grammarID) { + case 2781: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + if (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2782; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2782: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2783; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2783: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2784; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2784: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2785; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2785: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2786; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2786: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2787; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2787: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2788; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2788: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2789; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2789: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2790; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2790: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2791; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2791: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2792; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2792: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2793; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2793: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2794; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2794: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2795; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2795: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2796; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2796: + /* 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 (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { + errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); + } else { + errn = EXI_ERROR_OUT_OF_BOUNDS; + } + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType) { + int grammarID = 2797; + int done = 0; + + init_v2gRelativeTimeIntervalType(v2gRelativeTimeIntervalType); + + while(!done) { + switch(grammarID) { + case 2797: + /* 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, &v2gRelativeTimeIntervalType->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 = 2798; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2798: + /* 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, &v2gRelativeTimeIntervalType->duration); + v2gRelativeTimeIntervalType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gDisconnectChargingDeviceResType(bitstream_t* stream, struct v2gDisconnectChargingDeviceResType* v2gDisconnectChargingDeviceResType) { + int grammarID = 2421; + int done = 0; + + init_v2gDisconnectChargingDeviceResType(v2gDisconnectChargingDeviceResType); + + while(!done) { + switch(grammarID) { + case 2421: + /* 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); + v2gDisconnectChargingDeviceResType->ResponseCode = (v2gresponseCodeType) 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 = 2422; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2422: + /* 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_v2gEVSEStatusType(stream, &v2gDisconnectChargingDeviceResType->EVSEStatus); + v2gDisconnectChargingDeviceResType->EVSEStatus_isUsed = 1u; + grammarID = 2423; + break; + case 1: + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 2, &uint32); + v2gDisconnectChargingDeviceResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2424; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2423: + /* 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); + v2gDisconnectChargingDeviceResType->EVSEProcessing = (v2gEVSEProcessingType) 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 = 2424; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2424: + /* 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); + v2gDisconnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus = (v2gelectricalChargingDeviceStatusType) 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 = 1519; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1519: + /* 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); + v2gDisconnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus = (v2gmechanicalChargingDeviceStatusType) 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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType) { + int grammarID = 1855; + int done = 0; + + init_v2gContractSignatureEncryptedPrivateKeyType(v2gContractSignatureEncryptedPrivateKeyType); + + while(!done) { + switch(grammarID) { + case 1855: + /* 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, &v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen); + if (errn == 0) { + if (v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen >= 2) { + v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen = (uint16_t)(v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen, v2gContractSignatureEncryptedPrivateKeyType->Id.characters, v2gContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + grammarID = 1; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1: + /* StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decodeUnsignedInteger16(stream, &v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); + if (errn == 0) { + errn = (v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen) <= v2gContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen, v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytes); + } + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargingStatusResType* v2gChargingStatusResType) { - int grammarID = 185; + int grammarID = 2799; int done = 0; init_v2gChargingStatusResType(v2gChargingStatusResType); while(!done) { switch(grammarID) { - case 185: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 2799: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -8699,10 +99123,10 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 186; + grammarID = 2800; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8714,24 +99138,26 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + case 2800: + /* 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_v2gEVSEStatusType(stream, &v2gChargingStatusResType->EVSEStatus); + v2gChargingStatusResType->EVSEStatus_isUsed = 1u; + grammarID = 2801; + break; + case 1: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &v2gChargingStatusResType->EVSEID.charactersLen); - if (errn == 0) { - errn = (v2gChargingStatusResType->EVSEID.charactersLen - 2) <= v2gChargingStatusResType_EVSEID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (v2gChargingStatusResType->EVSEID.charactersLen >= 2) { v2gChargingStatusResType->EVSEID.charactersLen = (uint16_t)(v2gChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gChargingStatusResType->EVSEID.charactersLen, v2gChargingStatusResType->EVSEID.characters); + errn = decodeCharacters(stream, v2gChargingStatusResType->EVSEID.charactersLen, v2gChargingStatusResType->EVSEID.characters, v2gChargingStatusResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -8743,10 +99169,10 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 187; + grammarID = 2802; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -8758,9 +99184,50 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID)] */ + case 2801: + /* 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, &v2gChargingStatusResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gChargingStatusResType->EVSEID.charactersLen >= 2) { + v2gChargingStatusResType->EVSEID.charactersLen = (uint16_t)(v2gChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gChargingStatusResType->EVSEID.charactersLen, v2gChargingStatusResType->EVSEID.characters, v2gChargingStatusResType_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 = 2802; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2802: + /* 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: @@ -8770,41 +99237,26 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); v2gChargingStatusResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); + v2gChargingStatusResType->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:2013:MsgBody}SAScheduleTupleID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 188; + grammarID = 2803; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSEMaxCurrent); - v2gChargingStatusResType->EVSEMaxCurrent_isUsed = 1u; - grammarID = 189; - break; case 1: errn = decode_v2gMeterInfoType(stream, &v2gChargingStatusResType->MeterInfo); v2gChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 190; + grammarID = 2804; break; case 2: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ @@ -8819,18 +99271,23 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 191; + grammarID = 2805; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: - errn = decode_v2gAC_EVSEStatusType(stream, &v2gChargingStatusResType->AC_EVSEStatus); - grammarID = 5; + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSETargetPower); + v2gChargingStatusResType->EVSETargetPower_isUsed = 1u; + grammarID = 2; + break; + case 4: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -8838,15 +99295,15 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); + case 2803: + /* 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_v2gMeterInfoType(stream, &v2gChargingStatusResType->MeterInfo); v2gChargingStatusResType->MeterInfo_isUsed = 1u; - grammarID = 190; + grammarID = 2804; break; case 1: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ @@ -8861,18 +99318,23 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 191; + grammarID = 2805; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: - errn = decode_v2gAC_EVSEStatusType(stream, &v2gChargingStatusResType->AC_EVSEStatus); - grammarID = 5; + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSETargetPower); + v2gChargingStatusResType->EVSETargetPower_isUsed = 1u; + grammarID = 2; + break; + case 3: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -8880,8 +99342,8 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ + case 2804: + /* 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) { @@ -8898,18 +99360,23 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 191; + grammarID = 2805; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: - errn = decode_v2gAC_EVSEStatusType(stream, &v2gChargingStatusResType->AC_EVSEStatus); - grammarID = 5; + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSETargetPower); + v2gChargingStatusResType->EVSETargetPower_isUsed = 1u; + grammarID = 2; + break; + case 2: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -8917,14 +99384,19 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + case 2805: + /* 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_v2gAC_EVSEStatusType(stream, &v2gChargingStatusResType->AC_EVSEStatus); - grammarID = 5; + errn = decode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSETargetPower); + v2gChargingStatusResType->EVSETargetPower_isUsed = 1u; + grammarID = 2; + break; + case 1: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -8932,14 +99404,835 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi } } break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; + 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_v2gPaymentDetailsReqType(bitstream_t* stream, struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType) { + int grammarID = 2806; + int done = 0; + + init_v2gPaymentDetailsReqType(v2gPaymentDetailsReqType); + + while(!done) { + switch(grammarID) { + case 2806: + /* 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, &v2gPaymentDetailsReqType->eMAID.charactersLen); + if (errn == 0) { + if (v2gPaymentDetailsReqType->eMAID.charactersLen >= 2) { + v2gPaymentDetailsReqType->eMAID.charactersLen = (uint16_t)(v2gPaymentDetailsReqType->eMAID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gPaymentDetailsReqType->eMAID.charactersLen, v2gPaymentDetailsReqType->eMAID.characters, v2gPaymentDetailsReqType_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 = 2807; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2807: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gCertificateChainType(stream, &v2gPaymentDetailsReqType->ContractSignatureCertChain); + grammarID = 2; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gMagneticVectorSetupType(bitstream_t* stream, struct v2gMagneticVectorSetupType* v2gMagneticVectorSetupType) { + int grammarID = 2808; + int done = 0; + + init_v2gMagneticVectorSetupType(v2gMagneticVectorSetupType); + + while(!done) { + switch(grammarID) { + case 2808: + /* 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, &v2gMagneticVectorSetupType->GAID.charactersLen); + if (errn == 0) { + if (v2gMagneticVectorSetupType->GAID.charactersLen >= 2) { + v2gMagneticVectorSetupType->GAID.charactersLen = (uint16_t)(v2gMagneticVectorSetupType->GAID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gMagneticVectorSetupType->GAID.charactersLen, v2gMagneticVectorSetupType->GAID.characters, v2gMagneticVectorSetupType_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 = 2809; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2809: + /* 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, &v2gMagneticVectorSetupType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gDC_EVChargeParameterType(bitstream_t* stream, struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType) { + int grammarID = 2810; + int done = 0; + + init_v2gDC_EVChargeParameterType(v2gDC_EVChargeParameterType); + + while(!done) { + switch(grammarID) { + case 2810: + /* 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, &v2gDC_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 = 2811; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2811: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumChargePower); + v2gDC_EVChargeParameterType->EVMaximumChargePower_isUsed = 1u; + grammarID = 2812; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumChargePower); + v2gDC_EVChargeParameterType->EVMinimumChargePower_isUsed = 1u; + grammarID = 2813; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumChargeCurrent); + grammarID = 2814; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2812: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumChargePower); + v2gDC_EVChargeParameterType->EVMinimumChargePower_isUsed = 1u; + grammarID = 2813; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumChargeCurrent); + grammarID = 2814; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2813: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumChargeCurrent); + grammarID = 2814; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2814: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumChargeCurrent); + grammarID = 2815; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2815: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumVoltage); + grammarID = 2816; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2816: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVTargetEnergyRequest); + v2gDC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; + grammarID = 2817; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumEnergyRequest); + v2gDC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 2818; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumEnergyRequest); + v2gDC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2819; + break; + case 3: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2820; + } 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)); + v2gDC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2821; + } 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)); + v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 6: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2817: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumEnergyRequest); + v2gDC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 2818; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumEnergyRequest); + v2gDC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2819; + break; + case 2: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2820; + } 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)); + v2gDC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2821; + } 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)); + v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 5: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2818: + /* 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_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumEnergyRequest); + v2gDC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2819; + break; + case 1: + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); + v2gDC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2820; + } 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)); + v2gDC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2821; + } 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)); + v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 4: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2819: + /* 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)); + v2gDC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2820; + } 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)); + v2gDC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2821; + } 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)); + v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2820: + /* 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)); + v2gDC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2821; + } 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)); + v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2821: + /* 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)); + v2gDC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -8960,77 +100253,68 @@ static int decode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargi /* 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_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* v2gReferenceType) { - int grammarID = 192; + int grammarID = 2822; int done = 0; init_v2gReferenceType(v2gReferenceType); while(!done) { switch(grammarID) { - case 192: + case 2822: /* 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, &v2gReferenceType->Id.charactersLen); - if (errn == 0) { - errn = (v2gReferenceType->Id.charactersLen - 2) <= v2gReferenceType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (v2gReferenceType->Id.charactersLen >= 2) { v2gReferenceType->Id.charactersLen = (uint16_t)(v2gReferenceType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gReferenceType->Id.charactersLen, v2gReferenceType->Id.characters); + errn = decodeCharacters(stream, v2gReferenceType->Id.charactersLen, v2gReferenceType->Id.characters, v2gReferenceType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } v2gReferenceType->Id_isUsed = 1u; - grammarID = 193; + grammarID = 2823; break; case 1: errn = decodeUnsignedInteger16(stream, &v2gReferenceType->Type.charactersLen); - if (errn == 0) { - errn = (v2gReferenceType->Type.charactersLen - 2) <= v2gReferenceType_Type_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (v2gReferenceType->Type.charactersLen >= 2) { v2gReferenceType->Type.charactersLen = (uint16_t)(v2gReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gReferenceType->Type.charactersLen, v2gReferenceType->Type.characters); + errn = decodeCharacters(stream, v2gReferenceType->Type.charactersLen, v2gReferenceType->Type.characters, v2gReferenceType_Type_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } v2gReferenceType->Type_isUsed = 1u; - grammarID = 194; + grammarID = 2824; break; case 2: errn = decodeUnsignedInteger16(stream, &v2gReferenceType->URI.charactersLen); - if (errn == 0) { - errn = (v2gReferenceType->URI.charactersLen - 2) <= v2gReferenceType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (v2gReferenceType->URI.charactersLen >= 2) { v2gReferenceType->URI.charactersLen = (uint16_t)(v2gReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gReferenceType->URI.charactersLen, v2gReferenceType->URI.characters); + errn = decodeCharacters(stream, v2gReferenceType->URI.charactersLen, v2gReferenceType->URI.characters, v2gReferenceType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } v2gReferenceType->URI_isUsed = 1u; - grammarID = 195; + grammarID = 2825; break; case 3: errn = decode_v2gTransformsType(stream, &v2gReferenceType->Transforms); v2gReferenceType->Transforms_isUsed = 1u; - grammarID = 196; + grammarID = 2826; break; case 4: errn = decode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod); - grammarID = 197; + grammarID = 2827; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9038,53 +100322,47 @@ static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* } } break; - case 193: + case 2823: /* 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, &v2gReferenceType->Type.charactersLen); - if (errn == 0) { - errn = (v2gReferenceType->Type.charactersLen - 2) <= v2gReferenceType_Type_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (v2gReferenceType->Type.charactersLen >= 2) { v2gReferenceType->Type.charactersLen = (uint16_t)(v2gReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gReferenceType->Type.charactersLen, v2gReferenceType->Type.characters); + errn = decodeCharacters(stream, v2gReferenceType->Type.charactersLen, v2gReferenceType->Type.characters, v2gReferenceType_Type_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } v2gReferenceType->Type_isUsed = 1u; - grammarID = 194; + grammarID = 2824; break; case 1: errn = decodeUnsignedInteger16(stream, &v2gReferenceType->URI.charactersLen); - if (errn == 0) { - errn = (v2gReferenceType->URI.charactersLen - 2) <= v2gReferenceType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (v2gReferenceType->URI.charactersLen >= 2) { v2gReferenceType->URI.charactersLen = (uint16_t)(v2gReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gReferenceType->URI.charactersLen, v2gReferenceType->URI.characters); + errn = decodeCharacters(stream, v2gReferenceType->URI.charactersLen, v2gReferenceType->URI.characters, v2gReferenceType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } v2gReferenceType->URI_isUsed = 1u; - grammarID = 195; + grammarID = 2825; break; case 2: errn = decode_v2gTransformsType(stream, &v2gReferenceType->Transforms); v2gReferenceType->Transforms_isUsed = 1u; - grammarID = 196; + grammarID = 2826; break; case 3: errn = decode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod); - grammarID = 197; + grammarID = 2827; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9092,36 +100370,33 @@ static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* } } break; - case 194: + case 2824: /* 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, &v2gReferenceType->URI.charactersLen); - if (errn == 0) { - errn = (v2gReferenceType->URI.charactersLen - 2) <= v2gReferenceType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (v2gReferenceType->URI.charactersLen >= 2) { v2gReferenceType->URI.charactersLen = (uint16_t)(v2gReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gReferenceType->URI.charactersLen, v2gReferenceType->URI.characters); + errn = decodeCharacters(stream, v2gReferenceType->URI.charactersLen, v2gReferenceType->URI.characters, v2gReferenceType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } v2gReferenceType->URI_isUsed = 1u; - grammarID = 195; + grammarID = 2825; break; case 1: errn = decode_v2gTransformsType(stream, &v2gReferenceType->Transforms); v2gReferenceType->Transforms_isUsed = 1u; - grammarID = 196; + grammarID = 2826; break; case 2: errn = decode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod); - grammarID = 197; + grammarID = 2827; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9129,7 +100404,7 @@ static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* } } break; - case 195: + case 2825: /* 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) { @@ -9137,11 +100412,11 @@ static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* case 0: errn = decode_v2gTransformsType(stream, &v2gReferenceType->Transforms); v2gReferenceType->Transforms_isUsed = 1u; - grammarID = 196; + grammarID = 2826; break; case 1: errn = decode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod); - grammarID = 197; + grammarID = 2827; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9149,14 +100424,14 @@ static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* } } break; - case 196: + case 2826: /* 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_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod); - grammarID = 197; + grammarID = 2827; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9164,7 +100439,7 @@ static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* } } break; - case 197: + case 2827: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { @@ -9190,7 +100465,7 @@ static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -9202,14 +100477,14 @@ static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* } } break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9228,42 +100503,36 @@ static int decode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* 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_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueType* v2gRSAKeyValueType) { - int grammarID = 198; +/* 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_v2gServiceDetailReqType(bitstream_t* stream, struct v2gServiceDetailReqType* v2gServiceDetailReqType) { + int grammarID = 2828; int done = 0; - init_v2gRSAKeyValueType(v2gRSAKeyValueType); + init_v2gServiceDetailReqType(v2gServiceDetailReqType); while(!done) { switch(grammarID) { - case 198: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ + case 2828: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gRSAKeyValueType->Modulus.bytesLen); - if (errn == 0) { - errn = (v2gRSAKeyValueType->Modulus.bytesLen) <= v2gRSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gRSAKeyValueType->Modulus.bytesLen, v2gRSAKeyValueType->Modulus.bytes); - } + errn = decodeUnsignedInteger16(stream, &v2gServiceDetailReqType->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({http://www.w3.org/2000/09/xmldsig#}Modulus) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 199; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -9275,52 +100544,14 @@ static int decode_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueT } } break; - case 199: - /* 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, &v2gRSAKeyValueType->Exponent.bytesLen); - if (errn == 0) { - errn = (v2gRSAKeyValueType->Exponent.bytesLen) <= v2gRSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gRSAKeyValueType->Exponent.bytesLen, v2gRSAKeyValueType->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 = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9339,23 +100570,46 @@ static int decode_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueT return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDef":Header,"urn:iso:15118:2:2013:MsgDef":Body)', derivedBy='RESTRICTION'. */ -static int decode_v2gAnonType_V2G_Message(bitstream_t* stream, struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message) { - int grammarID = 200; +/* 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_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymentOptionListType* v2gPaymentOptionListType) { + int grammarID = 2829; int done = 0; - init_v2gAnonType_V2G_Message(v2gAnonType_V2G_Message); + init_v2gPaymentOptionListType(v2gPaymentOptionListType); while(!done) { switch(grammarID) { - case 200: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header)] */ + case 2829: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - errn = decode_v2gMessageHeaderType(stream, &v2gAnonType_V2G_Message->Header); - grammarID = 201; + if (v2gPaymentOptionListType->PaymentOption.arrayLen < v2gPaymentOptionListType_PaymentOption_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 1, &uint32); + v2gPaymentOptionListType->PaymentOption.array[v2gPaymentOptionListType->PaymentOption.arrayLen] = (v2gpaymentOptionType) uint32; + v2gPaymentOptionListType->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 = 2830; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9363,86 +100617,41 @@ static int decode_v2gAnonType_V2G_Message(bitstream_t* stream, struct v2gAnonTyp } } break; - case 201: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gBodyType(stream, &v2gAnonType_V2G_Message->Body); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":EAmount,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2013:MsgDataTypes":EVMinCurrent))', derivedBy='EXTENSION'. */ -static int decode_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType) { - int grammarID = 202; - int done = 0; - - init_v2gAC_EVChargeParameterType(v2gAC_EVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 202: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ + case 2830: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), 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, &v2gAC_EVChargeParameterType->DepartureTime); - v2gAC_EVChargeParameterType->DepartureTime_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + if (v2gPaymentOptionListType->PaymentOption.arrayLen < v2gPaymentOptionListType_PaymentOption_ARRAY_SIZE) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 1, &uint32); + v2gPaymentOptionListType->PaymentOption.array[v2gPaymentOptionListType->PaymentOption.arrayLen] = (v2gpaymentOptionType) uint32; + v2gPaymentOptionListType->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:2013:MsgDataTypes}DepartureTime) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 203; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EAmount); - grammarID = 204; + done = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9450,74 +100659,14 @@ static int decode_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_ } } break; - case 203: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EAmount); - grammarID = 204; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 204: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaxVoltage); - grammarID = 205; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaxCurrent); - grammarID = 206; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinCurrent); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -9536,440 +100685,17 @@ static int decode_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_ 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_v2gSignatureMethodType(bitstream_t* stream, struct v2gSignatureMethodType* v2gSignatureMethodType) { - int grammarID = 207; +/* 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_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrentDemandResType* v2gCurrentDemandResType) { + int grammarID = 2831; int done = 0; - init_v2gSignatureMethodType(v2gSignatureMethodType); + init_v2gCurrentDemandResType(v2gCurrentDemandResType); while(!done) { switch(grammarID) { - case 207: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gSignatureMethodType->Algorithm.charactersLen); - if (errn == 0) { - errn = (v2gSignatureMethodType->Algorithm.charactersLen - 2) <= v2gSignatureMethodType_Algorithm_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSignatureMethodType->Algorithm.charactersLen >= 2) { - v2gSignatureMethodType->Algorithm.charactersLen = (uint16_t)(v2gSignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSignatureMethodType->Algorithm.charactersLen, v2gSignatureMethodType->Algorithm.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 208; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 208: - /* 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, &v2gSignatureMethodType->HMACOutputLength); - v2gSignatureMethodType->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 = 35; - } 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 = 35; - break; - case 2: - done = 1; - grammarID = 1; - break; - case 3: - grammarID = 209; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 35: - /* 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 = 35; - break; - case 1: - done = 1; - grammarID = 1; - break; - case 2: - grammarID = 35; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 209: - /* 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, &v2gSignatureMethodType->HMACOutputLength); - v2gSignatureMethodType->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 = 35; - } 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 = 35; - break; - case 2: - done = 1; - grammarID = 1; - break; - case 3: - grammarID = 209; - 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:2013:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -static int decode_v2gCertificateInstallationReqType(bitstream_t* stream, struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType) { - int grammarID = 210; - int done = 0; - - init_v2gCertificateInstallationReqType(v2gCertificateInstallationReqType); - - while(!done) { - switch(grammarID) { - case 210: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gCertificateInstallationReqType->Id.charactersLen); - if (errn == 0) { - errn = (v2gCertificateInstallationReqType->Id.charactersLen - 2) <= v2gCertificateInstallationReqType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gCertificateInstallationReqType->Id.charactersLen >= 2) { - v2gCertificateInstallationReqType->Id.charactersLen = (uint16_t)(v2gCertificateInstallationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gCertificateInstallationReqType->Id.charactersLen, v2gCertificateInstallationReqType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 211; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 211: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - if (errn == 0) { - errn = (v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= v2gCertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen, v2gCertificateInstallationReqType->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:2013:MsgBody}OEMProvisioningCert) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 128; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gListOfRootCertificateIDsType(stream, &v2gCertificateInstallationReqType->ListOfRootCertificateIDs); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -static int decode_v2gCertificateChainType(bitstream_t* stream, struct v2gCertificateChainType* v2gCertificateChainType) { - int grammarID = 212; - int done = 0; - - init_v2gCertificateChainType(v2gCertificateChainType); - - while(!done) { - switch(grammarID) { - case 212: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gCertificateChainType->Id.charactersLen); - if (errn == 0) { - errn = (v2gCertificateChainType->Id.charactersLen - 2) <= v2gCertificateChainType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gCertificateChainType->Id.charactersLen >= 2) { - v2gCertificateChainType->Id.charactersLen = (uint16_t)(v2gCertificateChainType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gCertificateChainType->Id.charactersLen, v2gCertificateChainType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gCertificateChainType->Id_isUsed = 1u; - grammarID = 213; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gCertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (v2gCertificateChainType->Certificate.bytesLen) <= v2gCertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gCertificateChainType->Certificate.bytesLen, v2gCertificateChainType->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:2013:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 213: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gCertificateChainType->Certificate.bytesLen); - if (errn == 0) { - errn = (v2gCertificateChainType->Certificate.bytesLen) <= v2gCertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gCertificateChainType->Certificate.bytesLen, v2gCertificateChainType->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:2013:MsgDataTypes}Certificate) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 214; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 214: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gSubCertificatesType(stream, &v2gCertificateChainType->SubCertificates); - v2gCertificateChainType->SubCertificates_isUsed = 1u; - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionSetupResType* v2gSessionSetupResType) { - int grammarID = 215; - int done = 0; - - init_v2gSessionSetupResType(v2gSessionSetupResType); - - while(!done) { - switch(grammarID) { - case 215: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 2831: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { @@ -9979,17 +100705,17 @@ static int decode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionS if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - v2gSessionSetupResType->ResponseCode = (v2gresponseCodeType) uint32; + v2gCurrentDemandResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 216; + grammarID = 2832; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -10001,24 +100727,182 @@ static int decode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionS } } break; - case 216: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ + case 2832: + /* 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_v2gEVSEStatusType(stream, &v2gCurrentDemandResType->EVSEStatus); + v2gCurrentDemandResType->EVSEStatus_isUsed = 1u; + grammarID = 2833; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentCurrent); + grammarID = 2834; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2833: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentCurrent); + grammarID = 2834; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2834: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentVoltage); + grammarID = 2835; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2835: + /* 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, &v2gCurrentDemandResType->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 = 2836; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2836: + /* 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, &v2gCurrentDemandResType->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 = 2837; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2837: + /* 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, &v2gCurrentDemandResType->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 = 2838; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2838: + /* 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_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumPower); + v2gCurrentDemandResType->EVSEMaximumPower_isUsed = 1u; + grammarID = 2839; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumCurrent); + v2gCurrentDemandResType->EVSEMaximumCurrent_isUsed = 1u; + grammarID = 2840; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumVoltage); + v2gCurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; + grammarID = 1509; + break; + case 3: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gSessionSetupResType->EVSEID.charactersLen); + errn = decodeUnsignedInteger16(stream, &v2gCurrentDemandResType->EVSEID.charactersLen); if (errn == 0) { - errn = (v2gSessionSetupResType->EVSEID.charactersLen - 2) <= v2gSessionSetupResType_EVSEID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSessionSetupResType->EVSEID.charactersLen >= 2) { - v2gSessionSetupResType->EVSEID.charactersLen = (uint16_t)(v2gSessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSessionSetupResType->EVSEID.charactersLen, v2gSessionSetupResType->EVSEID.characters); + if (v2gCurrentDemandResType->EVSEID.charactersLen >= 2) { + v2gCurrentDemandResType->EVSEID.charactersLen = (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCurrentDemandResType->EVSEID.charactersLen, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -10030,10 +100914,10 @@ static int decode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionS } } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 217; + grammarID = 1510; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -10045,100 +100929,46 @@ static int decode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionS } } break; - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp), END_ELEMENT] */ + case 2839: + /* 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: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &v2gSessionSetupResType->EVSETimeStamp); - v2gSessionSetupResType->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:2013:MsgBody}EVSETimeStamp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumCurrent); + v2gCurrentDemandResType->EVSEMaximumCurrent_isUsed = 1u; + grammarID = 2840; break; case 1: - done = 1; - grammarID = 1; + errn = decode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumVoltage); + v2gCurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; + grammarID = 1509; break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":costKind,"urn:iso:15118:2:2013:MsgDataTypes":amount,"urn:iso:15118:2:2013:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ -static int decode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostType) { - int grammarID = 218; - int done = 0; - - init_v2gCostType(v2gCostType); - - while(!done) { - switch(grammarID) { - case 218: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + case 2: + /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - v2gCostType->costKind = (v2gcostKindType) uint32; + errn = decodeUnsignedInteger16(stream, &v2gCurrentDemandResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gCurrentDemandResType->EVSEID.charactersLen >= 2) { + v2gCurrentDemandResType->EVSEID.charactersLen = (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCurrentDemandResType->EVSEID.charactersLen, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType_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:2013:MsgDataTypes}costKind) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 219; + grammarID = 1510; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -10150,41 +100980,96 @@ static int decode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostTy } } break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amount)] */ - 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, &v2gCostType->amount); - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amount) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 220; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 220: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amountMultiplier), END_ELEMENT] */ + case 2840: + /* 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_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumVoltage); + v2gCurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; + grammarID = 1509; + break; + case 1: + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gCurrentDemandResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gCurrentDemandResType->EVSEID.charactersLen >= 2) { + v2gCurrentDemandResType->EVSEID.charactersLen = (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCurrentDemandResType->EVSEID.charactersLen, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType_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 = 1510; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1509: + /* 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, &v2gCurrentDemandResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gCurrentDemandResType->EVSEID.charactersLen >= 2) { + v2gCurrentDemandResType->EVSEID.charactersLen = (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gCurrentDemandResType->EVSEID.charactersLen, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType_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 = 1510; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1510: + /* 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: @@ -10192,27 +101077,54 @@ static int decode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostTy errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &(uint32)); - v2gCostType->amountMultiplier = (int8_t)(uint32 -3); - v2gCostType->amountMultiplier_isUsed = 1u; + errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); + v2gCurrentDemandResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); + v2gCurrentDemandResType->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:2013:MsgDataTypes}amountMultiplier) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 5; + grammarID = 1511; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: + errn = decode_v2gMeterInfoType(stream, &v2gCurrentDemandResType->MeterInfo); + v2gCurrentDemandResType->MeterInfo_isUsed = 1u; + grammarID = 1512; + break; + case 2: + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeBoolean(stream, &v2gCurrentDemandResType->ReceiptRequired); + v2gCurrentDemandResType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -10220,14 +101132,93 @@ static int decode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostTy } } break; - case 5: + case 1511: + /* 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_v2gMeterInfoType(stream, &v2gCurrentDemandResType->MeterInfo); + v2gCurrentDemandResType->MeterInfo_isUsed = 1u; + grammarID = 1512; + break; + case 1: + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeBoolean(stream, &v2gCurrentDemandResType->ReceiptRequired); + v2gCurrentDemandResType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1512: + /* 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, &v2gCurrentDemandResType->ReceiptRequired); + v2gCurrentDemandResType->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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -10246,462 +101237,239 @@ static int decode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostTy 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_v2gX509DataType(bitstream_t* stream, struct v2gX509DataType* v2gX509DataType) { - int grammarID = 221; +/* 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_v2gDC_BidirectionalControlResType(bitstream_t* stream, struct v2gDC_BidirectionalControlResType* v2gDC_BidirectionalControlResType) { + int grammarID = 2841; int done = 0; - init_v2gX509DataType(v2gX509DataType); + init_v2gDC_BidirectionalControlResType(v2gDC_BidirectionalControlResType); while(!done) { switch(grammarID) { - case 221: - /* 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); + case 2841: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - if (v2gX509DataType->X509IssuerSerial.arrayLen < v2gX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_v2gX509IssuerSerialType(stream, &v2gX509DataType->X509IssuerSerial.array[v2gX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 222; - break; - case 1: - if (v2gX509DataType->X509SKI.arrayLen < v2gX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen) <= v2gX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen, v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytes); - } - v2gX509DataType->X509SKI.arrayLen++; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeNBitUnsignedInteger(stream, 5, &uint32); + v2gDC_BidirectionalControlResType->ResponseCode = (v2gresponseCodeType) uint32; + } else { + /* Second level event (e.g., xsi:type, xsi: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) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 222; + grammarID = 2842; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; - case 2: - if (v2gX509DataType->X509SubjectName.arrayLen < v2gX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen - 2) <= v2gX509DataType_X509SubjectName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen, v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gX509DataType->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 = 222; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 3: - if (v2gX509DataType->X509Certificate.arrayLen < v2gX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen) <= v2gX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen, v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytes); - } - v2gX509DataType->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 = 222; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - if (v2gX509DataType->X509CRL.arrayLen < v2gX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen) <= v2gX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen, v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytes); - } - v2gX509DataType->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 = 222; - } 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 = 222; - break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; - case 222: - /* 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] */ + case 2842: + /* 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_v2gEVSEStatusType(stream, &v2gDC_BidirectionalControlResType->EVSEStatus); + v2gDC_BidirectionalControlResType->EVSEStatus_isUsed = 1u; + grammarID = 2843; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEPresentCurrent); + grammarID = 2844; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2843: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEPresentCurrent); + grammarID = 2844; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2844: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEPresentVoltage); + grammarID = 2845; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2845: + /* 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, &v2gDC_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 = 2846; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2846: + /* 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, &v2gDC_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 = 2847; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2847: + /* 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, &v2gDC_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 = 2848; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2848: + /* 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: - if (v2gX509DataType->X509IssuerSerial.arrayLen < v2gX509DataType_X509IssuerSerial_ARRAY_SIZE) { - errn = decode_v2gX509IssuerSerialType(stream, &v2gX509DataType->X509IssuerSerial.array[v2gX509DataType->X509IssuerSerial.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 222; + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumChargePower); + v2gDC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed = 1u; + grammarID = 2849; break; case 1: - if (v2gX509DataType->X509SKI.arrayLen < v2gX509DataType_X509SKI_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen) <= v2gX509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytesLen, v2gX509DataType->X509SKI.array[v2gX509DataType->X509SKI.arrayLen].bytes); - } - v2gX509DataType->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 = 222; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower); + v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 1u; + grammarID = 2850; break; case 2: - if (v2gX509DataType->X509SubjectName.arrayLen < v2gX509DataType_X509SubjectName_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen - 2) <= v2gX509DataType_X509SubjectName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { - v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].charactersLen, v2gX509DataType->X509SubjectName.array[v2gX509DataType->X509SubjectName.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gX509DataType->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 = 222; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent); + v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; + grammarID = 2851; break; case 3: - if (v2gX509DataType->X509Certificate.arrayLen < v2gX509DataType_X509Certificate_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen) <= v2gX509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytesLen, v2gX509DataType->X509Certificate.array[v2gX509DataType->X509Certificate.arrayLen].bytes); - } - v2gX509DataType->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 = 222; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); + v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; + grammarID = 2852; break; case 4: - if (v2gX509DataType->X509CRL.arrayLen < v2gX509DataType_X509CRL_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen); - if (errn == 0) { - errn = (v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen) <= v2gX509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytesLen, v2gX509DataType->X509CRL.array[v2gX509DataType->X509CRL.arrayLen].bytes); - } - v2gX509DataType->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 = 222; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage); + v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; + grammarID = 2853; break; case 5: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 222; + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage); + v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; + grammarID = 1509; break; case 6: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_v2gEMAIDType(bitstream_t* stream, struct v2gEMAIDType* v2gEMAIDType) { - int grammarID = 223; - int done = 0; - - init_v2gEMAIDType(v2gEMAIDType); - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gEMAIDType->Id.charactersLen); - if (errn == 0) { - errn = (v2gEMAIDType->Id.charactersLen - 2) <= v2gEMAIDType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gEMAIDType->Id.charactersLen >= 2) { - v2gEMAIDType->Id.charactersLen = (uint16_t)(v2gEMAIDType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gEMAIDType->Id.charactersLen, v2gEMAIDType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 224; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 224: - /* StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gEMAIDType->CONTENT.charactersLen); - if (errn == 0) { - errn = (v2gEMAIDType->CONTENT.charactersLen - 2) <= v2gEMAIDType_CONTENT_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gEMAIDType->CONTENT.charactersLen >= 2) { - v2gEMAIDType->CONTENT.charactersLen = (uint16_t)(v2gEMAIDType->CONTENT.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gEMAIDType->CONTENT.charactersLen, v2gEMAIDType->CONTENT.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ -static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* v2gMeterInfoType) { - int grammarID = 225; - int done = 0; - - init_v2gMeterInfoType(v2gMeterInfoType); - - while(!done) { - switch(grammarID) { - case 225: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gMeterInfoType->MeterID.charactersLen); + errn = decodeUnsignedInteger16(stream, &v2gDC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { - errn = (v2gMeterInfoType->MeterID.charactersLen - 2) <= v2gMeterInfoType_MeterID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gMeterInfoType->MeterID.charactersLen >= 2) { - v2gMeterInfoType->MeterID.charactersLen = (uint16_t)(v2gMeterInfoType->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gMeterInfoType->MeterID.charactersLen, v2gMeterInfoType->MeterID.characters); + if (v2gDC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { + v2gDC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.charactersLen, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -10713,10 +101481,10 @@ static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* } } if(errn == 0) { - /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterID) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 226; + grammarID = 1510; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -10728,9 +101496,509 @@ static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* } } break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ + case 2849: + /* 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_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower); + v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 1u; + grammarID = 2850; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent); + v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; + grammarID = 2851; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); + v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; + grammarID = 2852; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage); + v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; + grammarID = 2853; + break; + case 4: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage); + v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; + grammarID = 1509; + break; + case 5: + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gDC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { + v2gDC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.charactersLen, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_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 = 1510; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2850: + /* 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_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent); + v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; + grammarID = 2851; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); + v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; + grammarID = 2852; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage); + v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; + grammarID = 2853; + break; + case 3: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage); + v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; + grammarID = 1509; + break; + case 4: + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gDC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { + v2gDC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.charactersLen, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_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 = 1510; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2851: + /* 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_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); + v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; + grammarID = 2852; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage); + v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; + grammarID = 2853; + break; + case 2: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage); + v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; + grammarID = 1509; + break; + case 3: + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gDC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { + v2gDC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.charactersLen, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_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 = 1510; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2852: + /* 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_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage); + v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; + grammarID = 2853; + break; + case 1: + errn = decode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage); + v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; + grammarID = 1509; + break; + case 2: + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gDC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { + v2gDC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.charactersLen, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_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 = 1510; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2853: + /* 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_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage); + v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; + grammarID = 1509; + break; + case 1: + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeUnsignedInteger16(stream, &v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gDC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { + v2gDC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.charactersLen, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_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 = 1510; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1509: + /* 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, &v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + if (errn == 0) { + if (v2gDC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { + v2gDC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.charactersLen, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_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 = 1510; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1510: + /* 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)); + v2gDC_BidirectionalControlResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); + v2gDC_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 = 1511; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + errn = decode_v2gMeterInfoType(stream, &v2gDC_BidirectionalControlResType->MeterInfo); + v2gDC_BidirectionalControlResType->MeterInfo_isUsed = 1u; + grammarID = 1512; + break; + case 2: + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeBoolean(stream, &v2gDC_BidirectionalControlResType->ReceiptRequired); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 3: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1511: + /* 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_v2gMeterInfoType(stream, &v2gDC_BidirectionalControlResType->MeterInfo); + v2gDC_BidirectionalControlResType->MeterInfo_isUsed = 1u; + grammarID = 1512; + break; + case 1: + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if(errn == 0) { + if(eventCode == 0) { + errn = decodeBoolean(stream, &v2gDC_BidirectionalControlResType->ReceiptRequired); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 2: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 1512: + /* 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, &v2gDC_BidirectionalControlResType->ReceiptRequired); + v2gDC_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 = 2; + } else { + errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ + } + } + break; + case 1: + done = 1; + grammarID = 3; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2: + /* Element[END_ELEMENT] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + done = 1; + grammarID = 3; + 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_v2gWPT_EVChargeParameterType(bitstream_t* stream, struct v2gWPT_EVChargeParameterType* v2gWPT_EVChargeParameterType) { + int grammarID = 2854; + int done = 0; + + init_v2gWPT_EVChargeParameterType(v2gWPT_EVChargeParameterType); + + while(!done) { + switch(grammarID) { + case 2854: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: @@ -10738,185 +102006,81 @@ static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeUnsignedInteger64(stream, &v2gMeterInfoType->MeterReading); - v2gMeterInfoType->MeterReading_isUsed = 1u; + errn = decodeUnsignedInteger32(stream, &v2gWPT_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:2013:MsgDataTypes}MeterReading) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 227; + grammarID = 2855; } 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, &v2gMeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (v2gMeterInfoType->SigMeterReading.bytesLen) <= v2gMeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gMeterInfoType->SigMeterReading.bytesLen, v2gMeterInfoType->SigMeterReading.bytes); - } - v2gMeterInfoType->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:2013:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 228; - } 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, &v2gMeterInfoType->MeterStatus); - v2gMeterInfoType->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:2013:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 229; - } 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, &v2gMeterInfoType->TMeter); - v2gMeterInfoType->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:2013:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - done = 1; - grammarID = 1; - break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ + case 2855: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMaximumPower); + grammarID = 2856; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2856: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower)] */ + errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); + if (errn == 0) { + switch(eventCode) { + case 0: + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMinimumPower); + grammarID = 2857; + break; + default: + errn = EXI_ERROR_UNKOWN_EVENT_CODE; + break; + } + } + break; + case 2857: + /* 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: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gMeterInfoType->SigMeterReading.bytesLen); - if (errn == 0) { - errn = (v2gMeterInfoType->SigMeterReading.bytesLen) <= v2gMeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gMeterInfoType->SigMeterReading.bytesLen, v2gMeterInfoType->SigMeterReading.bytes); - } - v2gMeterInfoType->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:2013:MsgDataTypes}SigMeterReading) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 228; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVTargetEnergyRequest); + v2gWPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; + grammarID = 2858; break; case 1: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &v2gMeterInfoType->MeterStatus); - v2gMeterInfoType->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:2013:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 229; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest); + v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 2859; break; case 2: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &v2gMeterInfoType->TMeter); - v2gMeterInfoType->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:2013:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest); + v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2; break; case 3: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -10924,58 +102088,24 @@ static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* } } break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ + case 2858: + /* 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: - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger16(stream, &v2gMeterInfoType->MeterStatus); - v2gMeterInfoType->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:2013:MsgDataTypes}MeterStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 229; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest); + v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; + grammarID = 2859; break; case 1: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeInteger64(stream, &v2gMeterInfoType->TMeter); - v2gMeterInfoType->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:2013:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest); + v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2; break; case 2: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -10983,36 +102113,19 @@ static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* } } break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ + case 2859: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), 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, &v2gMeterInfoType->TMeter); - v2gMeterInfoType->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:2013:MsgDataTypes}TMeter) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } + errn = decode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest); + v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; + grammarID = 2; break; case 1: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -11020,14 +102133,14 @@ static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* } } break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -11046,37 +102159,42 @@ static int decode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int decode_v2gAuthorizationResType(bitstream_t* stream, struct v2gAuthorizationResType* v2gAuthorizationResType) { - int grammarID = 230; +/* 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_v2gSessionSetupReqType(bitstream_t* stream, struct v2gSessionSetupReqType* v2gSessionSetupReqType) { + int grammarID = 2860; int done = 0; - init_v2gAuthorizationResType(v2gAuthorizationResType); + init_v2gSessionSetupReqType(v2gSessionSetupReqType); while(!done) { switch(grammarID) { - case 230: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 2860: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 5, &uint32); - v2gAuthorizationResType->ResponseCode = (v2gresponseCodeType) uint32; + errn = decodeUnsignedInteger16(stream, &v2gSessionSetupReqType->EVCCID.bytesLen); + if (errn == 0) { + errn = (v2gSessionSetupReqType->EVCCID.bytesLen) <= v2gSessionSetupReqType_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; + } + if (errn == 0) { + errn = decodeBytes(stream, v2gSessionSetupReqType->EVCCID.bytesLen, v2gSessionSetupReqType->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:2013:MsgBody}ResponseCode) ? */ + /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { - grammarID = 231; + grammarID = 2; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } @@ -11088,1475 +102206,14 @@ static int decode_v2gAuthorizationResType(bitstream_t* stream, struct v2gAuthori } } break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gAuthorizationResType->EVSEProcessing = (v2gEVSEProcessingType) 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:2013:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: + case 2: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval)', derivedBy='RESTRICTION'. */ -static int decode_v2gEntryType(bitstream_t* stream, struct v2gEntryType* v2gEntryType) { - int grammarID = 232; - int done = 0; - - init_v2gEntryType(v2gEntryType); - - while(!done) { - switch(grammarID) { - case 232: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gRelativeTimeIntervalType(stream, &v2gEntryType->RelativeTimeInterval); - v2gEntryType->RelativeTimeInterval_isUsed = 1u; - grammarID = 5; - break; - case 1: - errn = decode_v2gIntervalType(stream, &v2gEntryType->TimeInterval); - v2gEntryType->TimeInterval_isUsed = 1u; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -static int decode_v2gServiceType(bitstream_t* stream, struct v2gServiceType* v2gServiceType) { - int grammarID = 233; - int done = 0; - - init_v2gServiceType(v2gServiceType); - - while(!done) { - switch(grammarID) { - case 233: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gServiceType->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:2013:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 234; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - 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, &v2gServiceType->ServiceName.charactersLen); - if (errn == 0) { - errn = (v2gServiceType->ServiceName.charactersLen - 2) <= v2gServiceType_ServiceName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gServiceType->ServiceName.charactersLen >= 2) { - v2gServiceType->ServiceName.charactersLen = (uint16_t)(v2gServiceType->ServiceName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gServiceType->ServiceName.charactersLen, v2gServiceType->ServiceName.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gServiceType->ServiceName_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:2013:MsgDataTypes}ServiceName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 235; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - v2gServiceType->ServiceCategory = (v2gserviceCategoryType) 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:2013:MsgDataTypes}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 236; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - 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); - v2gServiceType->ServiceCategory = (v2gserviceCategoryType) 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:2013:MsgDataTypes}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 236; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - 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, &v2gServiceType->ServiceScope.charactersLen); - if (errn == 0) { - errn = (v2gServiceType->ServiceScope.charactersLen - 2) <= v2gServiceType_ServiceScope_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gServiceType->ServiceScope.charactersLen >= 2) { - v2gServiceType->ServiceScope.charactersLen = (uint16_t)(v2gServiceType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gServiceType->ServiceScope.charactersLen, v2gServiceType->ServiceScope.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gServiceType->ServiceScope_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:2013:MsgDataTypes}ServiceScope) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 237; - } 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, &v2gServiceType->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:2013:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gServiceType->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:2013:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_v2gSelectedServiceListType(bitstream_t* stream, struct v2gSelectedServiceListType* v2gSelectedServiceListType) { - int grammarID = 238; - int done = 0; - - init_v2gSelectedServiceListType(v2gSelectedServiceListType); - - while(!done) { - switch(grammarID) { - case 238: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 239; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSelectedServiceListType->SelectedService.arrayLen < v2gSelectedServiceListType_SelectedService_ARRAY_SIZE) { - errn = decode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array[v2gSelectedServiceListType->SelectedService.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 239; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,ChargeServiceType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService),("urn:iso:15118:2:2013:MsgDataTypes":SupportedEnergyTransferMode))', derivedBy='EXTENSION'. */ -static int decode_v2gChargeServiceType(bitstream_t* stream, struct v2gChargeServiceType* v2gChargeServiceType) { - int grammarID = 240; - int done = 0; - - init_v2gChargeServiceType(v2gChargeServiceType); - - while(!done) { - switch(grammarID) { - case 240: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gChargeServiceType->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:2013:MsgDataTypes}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 241; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - 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, &v2gChargeServiceType->ServiceName.charactersLen); - if (errn == 0) { - errn = (v2gChargeServiceType->ServiceName.charactersLen - 2) <= v2gChargeServiceType_ServiceName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gChargeServiceType->ServiceName.charactersLen >= 2) { - v2gChargeServiceType->ServiceName.charactersLen = (uint16_t)(v2gChargeServiceType->ServiceName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gChargeServiceType->ServiceName.charactersLen, v2gChargeServiceType->ServiceName.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gChargeServiceType->ServiceName_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:2013:MsgDataTypes}ServiceName) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 242; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &uint32); - v2gChargeServiceType->ServiceCategory = (v2gserviceCategoryType) 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:2013:MsgDataTypes}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 243; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - 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); - v2gChargeServiceType->ServiceCategory = (v2gserviceCategoryType) 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:2013:MsgDataTypes}ServiceCategory) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 243; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - 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, &v2gChargeServiceType->ServiceScope.charactersLen); - if (errn == 0) { - errn = (v2gChargeServiceType->ServiceScope.charactersLen - 2) <= v2gChargeServiceType_ServiceScope_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gChargeServiceType->ServiceScope.charactersLen >= 2) { - v2gChargeServiceType->ServiceScope.charactersLen = (uint16_t)(v2gChargeServiceType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gChargeServiceType->ServiceScope.charactersLen, v2gChargeServiceType->ServiceScope.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gChargeServiceType->ServiceScope_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:2013:MsgDataTypes}ServiceScope) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 244; - } 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, &v2gChargeServiceType->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:2013:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 245; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gChargeServiceType->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:2013:MsgDataTypes}FreeService) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 245; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 245: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gSupportedEnergyTransferModeType(stream, &v2gChargeServiceType->SupportedEnergyTransferMode); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":ServiceID,"urn:iso:15118:2:2013:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gServiceDetailResType(bitstream_t* stream, struct v2gServiceDetailResType* v2gServiceDetailResType) { - int grammarID = 246; - int done = 0; - - init_v2gServiceDetailResType(v2gServiceDetailResType); - - while(!done) { - switch(grammarID) { - case 246: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gServiceDetailResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 247; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 247: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gServiceDetailResType->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:2013:MsgBody}ServiceID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 248; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 248: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceParameterList), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gServiceParameterListType(stream, &v2gServiceDetailResType->ServiceParameterList); - v2gServiceDetailResType->ServiceParameterList_isUsed = 1u; - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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_v2gSignatureValueType(bitstream_t* stream, struct v2gSignatureValueType* v2gSignatureValueType) { - int grammarID = 249; - int done = 0; - - init_v2gSignatureValueType(v2gSignatureValueType); - - while(!done) { - switch(grammarID) { - case 249: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gSignatureValueType->Id.charactersLen); - if (errn == 0) { - errn = (v2gSignatureValueType->Id.charactersLen - 2) <= v2gSignatureValueType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSignatureValueType->Id.charactersLen >= 2) { - v2gSignatureValueType->Id.charactersLen = (uint16_t)(v2gSignatureValueType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSignatureValueType->Id.charactersLen, v2gSignatureValueType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gSignatureValueType->Id_isUsed = 1u; - grammarID = 58; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &v2gSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (v2gSignatureValueType->CONTENT.bytesLen) <= v2gSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gSignatureValueType->CONTENT.bytesLen, v2gSignatureValueType->CONTENT.bytes); - } - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 58: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gSignatureValueType->CONTENT.bytesLen); - if (errn == 0) { - errn = (v2gSignatureValueType->CONTENT.bytesLen) <= v2gSignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gSignatureValueType->CONTENT.bytesLen, v2gSignatureValueType->CONTENT.bytes); - } - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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_v2gSignaturePropertiesType(bitstream_t* stream, struct v2gSignaturePropertiesType* v2gSignaturePropertiesType) { - int grammarID = 250; - int done = 0; - - init_v2gSignaturePropertiesType(v2gSignaturePropertiesType); - - while(!done) { - switch(grammarID) { - case 250: - /* 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, &v2gSignaturePropertiesType->Id.charactersLen); - if (errn == 0) { - errn = (v2gSignaturePropertiesType->Id.charactersLen - 2) <= v2gSignaturePropertiesType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSignaturePropertiesType->Id.charactersLen >= 2) { - v2gSignaturePropertiesType->Id.charactersLen = (uint16_t)(v2gSignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSignaturePropertiesType->Id.charactersLen, v2gSignaturePropertiesType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gSignaturePropertiesType->Id_isUsed = 1u; - grammarID = 251; - break; - case 1: - if (v2gSignaturePropertiesType->SignatureProperty.arrayLen < v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array[v2gSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 252; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 251: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSignaturePropertiesType->SignatureProperty.arrayLen < v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array[v2gSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 252; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 252: - /* 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 (v2gSignaturePropertiesType->SignatureProperty.arrayLen < v2gSignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { - errn = decode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array[v2gSignaturePropertiesType->SignatureProperty.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 252; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgBody,AuthorizationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gAuthorizationReqType(bitstream_t* stream, struct v2gAuthorizationReqType* v2gAuthorizationReqType) { - int grammarID = 253; - int done = 0; - - init_v2gAuthorizationReqType(v2gAuthorizationReqType); - - while(!done) { - switch(grammarID) { - case 253: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gAuthorizationReqType->Id.charactersLen); - if (errn == 0) { - errn = (v2gAuthorizationReqType->Id.charactersLen - 2) <= v2gAuthorizationReqType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gAuthorizationReqType->Id.charactersLen >= 2) { - v2gAuthorizationReqType->Id.charactersLen = (uint16_t)(v2gAuthorizationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gAuthorizationReqType->Id.charactersLen, v2gAuthorizationReqType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gAuthorizationReqType->Id_isUsed = 1u; - grammarID = 254; - break; - case 1: - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gAuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (v2gAuthorizationReqType->GenChallenge.bytesLen) <= v2gAuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gAuthorizationReqType->GenChallenge.bytesLen, v2gAuthorizationReqType->GenChallenge.bytes); - } - v2gAuthorizationReqType->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:2013:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 2: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 254: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gAuthorizationReqType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (v2gAuthorizationReqType->GenChallenge.bytesLen) <= v2gAuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gAuthorizationReqType->GenChallenge.bytesLen, v2gAuthorizationReqType->GenChallenge.bytes); - } - v2gAuthorizationReqType->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:2013:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,EVStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_v2gEVStatusType(bitstream_t* stream, struct v2gEVStatusType* v2gEVStatusType) { - int grammarID = 0; - int done = 0; - - init_v2gEVStatusType(v2gEVStatusType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumPowerLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2013:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -static int decode_v2gDC_EVSEChargeParameterType(bitstream_t* stream, struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType) { - int grammarID = 255; - int done = 0; - - init_v2gDC_EVSEChargeParameterType(v2gDC_EVSEChargeParameterType); - - while(!done) { - switch(grammarID) { - case 255: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDC_EVSEStatusType(stream, &v2gDC_EVSEChargeParameterType->DC_EVSEStatus); - grammarID = 256; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumCurrentLimit); - grammarID = 257; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumPowerLimit); - grammarID = 258; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit); - grammarID = 259; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMinimumCurrentLimit); - grammarID = 260; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 260: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMinimumVoltageLimit); - grammarID = 261; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance); - v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; - grammarID = 262; - break; - case 1: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 263; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEPeakCurrentRipple); - grammarID = 263; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 263: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered); - v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTuple{1-3})', derivedBy='EXTENSION'. */ -static int decode_v2gSAScheduleListType(bitstream_t* stream, struct v2gSAScheduleListType* v2gSAScheduleListType) { - int grammarID = 264; - int done = 0; - - init_v2gSAScheduleListType(v2gSAScheduleListType); - - while(!done) { - switch(grammarID) { - case 264: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSAScheduleListType->SAScheduleTuple.arrayLen < v2gSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array[v2gSAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 265; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 265: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSAScheduleListType->SAScheduleTuple.arrayLen < v2gSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array[v2gSAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 266; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 266: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSAScheduleListType->SAScheduleTuple.arrayLen < v2gSAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { - errn = decode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array[v2gSAScheduleListType->SAScheduleTuple.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; + grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -12577,33 +102234,30 @@ static int decode_v2gSAScheduleListType(bitstream_t* stream, struct v2gSASchedul /* 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_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMethodType* v2gDigestMethodType) { - int grammarID = 267; + int grammarID = 1847; int done = 0; init_v2gDigestMethodType(v2gDigestMethodType); while(!done) { switch(grammarID) { - case 267: + case 1847: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &v2gDigestMethodType->Algorithm.charactersLen); - if (errn == 0) { - errn = (v2gDigestMethodType->Algorithm.charactersLen - 2) <= v2gDigestMethodType_Algorithm_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (v2gDigestMethodType->Algorithm.charactersLen >= 2) { v2gDigestMethodType->Algorithm.charactersLen = (uint16_t)(v2gDigestMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gDigestMethodType->Algorithm.charactersLen, v2gDigestMethodType->Algorithm.characters); + errn = decodeCharacters(stream, v2gDigestMethodType->Algorithm.charactersLen, v2gDigestMethodType->Algorithm.characters, v2gDigestMethodType_Algorithm_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } - grammarID = 47; + grammarID = 1848; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -12611,7 +102265,7 @@ static int decode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMetho } } break; - case 47: + case 1848: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { @@ -12619,14 +102273,25 @@ static int decode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMetho case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 35; + grammarID = 904; break; case 1: done = 1; - grammarID = 1; + grammarID = 3; break; case 2: - grammarID = 35; + errn = decodeUnsignedInteger16(stream, &v2gDigestMethodType->ANY.charactersLen); + if (errn == 0) { + if (v2gDigestMethodType->ANY.charactersLen >= 2) { + v2gDigestMethodType->ANY.charactersLen = (uint16_t)(v2gDigestMethodType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDigestMethodType->ANY.charactersLen, v2gDigestMethodType->ANY.characters, v2gDigestMethodType_ANY_CHARACTERS_SIZE); + } else { + /* string table hit */ + errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; + } + } + v2gDigestMethodType->ANY_isUsed = 1u; + grammarID = 904; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -12634,7 +102299,7 @@ static int decode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMetho } } break; - case 35: + case 904: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { @@ -12642,2510 +102307,25 @@ static int decode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMetho case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 35; + grammarID = 904; break; case 1: done = 1; - grammarID = 1; + grammarID = 3; break; case 2: - grammarID = 35; - 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_v2gKeyValueType(bitstream_t* stream, struct v2gKeyValueType* v2gKeyValueType) { - int grammarID = 268; - int done = 0; - - init_v2gKeyValueType(v2gKeyValueType); - - while(!done) { - switch(grammarID) { - case 268: - /* 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_v2gDSAKeyValueType(stream, &v2gKeyValueType->DSAKeyValue); - v2gKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 269; - break; - case 1: - errn = decode_v2gRSAKeyValueType(stream, &v2gKeyValueType->RSAKeyValue); - v2gKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 269; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 269; - break; - case 3: - grammarID = 270; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 269: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - break; - case 1: - grammarID = 269; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 270: - /* 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_v2gDSAKeyValueType(stream, &v2gKeyValueType->DSAKeyValue); - v2gKeyValueType->DSAKeyValue_isUsed = 1u; - grammarID = 269; - break; - case 1: - errn = decode_v2gRSAKeyValueType(stream, &v2gKeyValueType->RSAKeyValue); - v2gKeyValueType->RSAKeyValue_isUsed = 1u; - grammarID = 269; - break; - case 2: - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - /* TODO unsupported event : START_ELEMENT_GENERIC */ - grammarID = 269; - break; - case 3: - grammarID = 270; - 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:2013:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_v2gEVPowerDeliveryParameterType(bitstream_t* stream, struct v2gEVPowerDeliveryParameterType* v2gEVPowerDeliveryParameterType) { - int grammarID = 0; - int done = 0; - - init_v2gEVPowerDeliveryParameterType(v2gEVPowerDeliveryParameterType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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_v2gTransformType(bitstream_t* stream, struct v2gTransformType* v2gTransformType) { - int grammarID = 271; - int done = 0; - - init_v2gTransformType(v2gTransformType); - - while(!done) { - switch(grammarID) { - case 271: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gTransformType->Algorithm.charactersLen); + errn = decodeUnsignedInteger16(stream, &v2gDigestMethodType->ANY.charactersLen); if (errn == 0) { - errn = (v2gTransformType->Algorithm.charactersLen - 2) <= v2gTransformType_Algorithm_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gTransformType->Algorithm.charactersLen >= 2) { - v2gTransformType->Algorithm.charactersLen = (uint16_t)(v2gTransformType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gTransformType->Algorithm.charactersLen, v2gTransformType->Algorithm.characters); + if (v2gDigestMethodType->ANY.charactersLen >= 2) { + v2gDigestMethodType->ANY.charactersLen = (uint16_t)(v2gDigestMethodType->ANY.charactersLen - 2); /* string table miss */ + errn = decodeCharacters(stream, v2gDigestMethodType->ANY.charactersLen, v2gDigestMethodType->ANY.characters, v2gDigestMethodType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } - grammarID = 272; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 272: - /* 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 (v2gTransformType->XPath.arrayLen < v2gTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen - 2) <= v2gTransformType_XPath_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen >= 2) { - v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen = (uint16_t)(v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen, v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gTransformType->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 = 273; - } 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 = 273; - break; - case 2: - done = 1; - grammarID = 1; - break; - case 3: - grammarID = 273; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 273: - /* 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 (v2gTransformType->XPath.arrayLen < v2gTransformType_XPath_ARRAY_SIZE) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - errn = (v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen - 2) <= v2gTransformType_XPath_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen >= 2) { - v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen = (uint16_t)(v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].charactersLen, v2gTransformType->XPath.array[v2gTransformType->XPath.arrayLen].characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gTransformType->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 = 273; - } 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 = 273; - break; - case 2: - done = 1; - grammarID = 1; - break; - case 3: - grammarID = 273; - 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:2013:MsgBody,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_v2gBodyBaseType(bitstream_t* stream, struct v2gBodyBaseType* v2gBodyBaseType) { - int grammarID = 0; - int done = 0; - - init_v2gBodyBaseType(v2gBodyBaseType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int decode_v2gSessionStopResType(bitstream_t* stream, struct v2gSessionStopResType* v2gSessionStopResType) { - int grammarID = 54; - int done = 0; - - init_v2gSessionStopResType(v2gSessionStopResType); - - while(!done) { - switch(grammarID) { - case 54: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gSessionStopResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":boolValue|"urn:iso:15118:2:2013:MsgDataTypes":byteValue|"urn:iso:15118:2:2013:MsgDataTypes":shortValue|"urn:iso:15118:2:2013:MsgDataTypes":intValue|"urn:iso:15118:2:2013:MsgDataTypes":physicalValue|"urn:iso:15118:2:2013:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -static int decode_v2gParameterType(bitstream_t* stream, struct v2gParameterType* v2gParameterType) { - int grammarID = 274; - int done = 0; - - init_v2gParameterType(v2gParameterType); - - while(!done) { - switch(grammarID) { - case 274: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Name)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gParameterType->Name.charactersLen); - if (errn == 0) { - errn = (v2gParameterType->Name.charactersLen - 2) <= v2gParameterType_Name_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gParameterType->Name.charactersLen >= 2) { - v2gParameterType->Name.charactersLen = (uint16_t)(v2gParameterType->Name.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gParameterType->Name.charactersLen, v2gParameterType->Name.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 275; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 275: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2013: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, &v2gParameterType->boolValue); - v2gParameterType->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:2013:MsgDataTypes}boolValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } 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)); - v2gParameterType->byteValue = (int8_t)(uint32 -128); - v2gParameterType->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:2013:MsgDataTypes}byteValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } 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, &v2gParameterType->shortValue); - v2gParameterType->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:2013:MsgDataTypes}shortValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } 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, &v2gParameterType->intValue); - v2gParameterType->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:2013:MsgDataTypes}intValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 4: - errn = decode_v2gPhysicalValueType(stream, &v2gParameterType->physicalValue); - v2gParameterType->physicalValue_isUsed = 1u; - grammarID = 5; - break; - case 5: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &v2gParameterType->stringValue.charactersLen); - if (errn == 0) { - errn = (v2gParameterType->stringValue.charactersLen - 2) <= v2gParameterType_stringValue_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gParameterType->stringValue.charactersLen >= 2) { - v2gParameterType->stringValue.charactersLen = (uint16_t)(v2gParameterType->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gParameterType->stringValue.charactersLen, v2gParameterType->stringValue.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gParameterType->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:2013:MsgDataTypes}stringValue) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,ServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Service{1-8})', derivedBy='RESTRICTION'. */ -static int decode_v2gServiceListType(bitstream_t* stream, struct v2gServiceListType* v2gServiceListType) { - int grammarID = 276; - int done = 0; - - init_v2gServiceListType(v2gServiceListType); - - while(!done) { - switch(grammarID) { - case 276: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { - errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 277; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { - errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 278; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { - errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 279; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 279: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { - errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 280; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 280: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { - errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 281; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 281: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { - errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 282; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { - errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 283; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 283: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gServiceListType->Service.arrayLen < v2gServiceListType_Service_ARRAY_SIZE) { - errn = decode_v2gServiceType(stream, &v2gServiceListType->Service.array[v2gServiceListType->Service.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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#,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_v2gRetrievalMethodType(bitstream_t* stream, struct v2gRetrievalMethodType* v2gRetrievalMethodType) { - int grammarID = 284; - int done = 0; - - init_v2gRetrievalMethodType(v2gRetrievalMethodType); - - while(!done) { - switch(grammarID) { - case 284: - /* 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, &v2gRetrievalMethodType->Type.charactersLen); - if (errn == 0) { - errn = (v2gRetrievalMethodType->Type.charactersLen - 2) <= v2gRetrievalMethodType_Type_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gRetrievalMethodType->Type.charactersLen >= 2) { - v2gRetrievalMethodType->Type.charactersLen = (uint16_t)(v2gRetrievalMethodType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gRetrievalMethodType->Type.charactersLen, v2gRetrievalMethodType->Type.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gRetrievalMethodType->Type_isUsed = 1u; - grammarID = 285; - break; - case 1: - errn = decodeUnsignedInteger16(stream, &v2gRetrievalMethodType->URI.charactersLen); - if (errn == 0) { - errn = (v2gRetrievalMethodType->URI.charactersLen - 2) <= v2gRetrievalMethodType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gRetrievalMethodType->URI.charactersLen >= 2) { - v2gRetrievalMethodType->URI.charactersLen = (uint16_t)(v2gRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gRetrievalMethodType->URI.charactersLen, v2gRetrievalMethodType->URI.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gRetrievalMethodType->URI_isUsed = 1u; - grammarID = 286; - break; - case 2: - errn = decode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms); - v2gRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 5; - break; - case 3: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 285: - /* 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, &v2gRetrievalMethodType->URI.charactersLen); - if (errn == 0) { - errn = (v2gRetrievalMethodType->URI.charactersLen - 2) <= v2gRetrievalMethodType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gRetrievalMethodType->URI.charactersLen >= 2) { - v2gRetrievalMethodType->URI.charactersLen = (uint16_t)(v2gRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gRetrievalMethodType->URI.charactersLen, v2gRetrievalMethodType->URI.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gRetrievalMethodType->URI_isUsed = 1u; - grammarID = 286; - break; - case 1: - errn = decode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms); - v2gRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 5; - break; - case 2: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 286: - /* 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_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms); - v2gRetrievalMethodType->Transforms_isUsed = 1u; - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1})', derivedBy='RESTRICTION'. */ -static int decode_v2gEVChargeParameterType(bitstream_t* stream, struct v2gEVChargeParameterType* v2gEVChargeParameterType) { - int grammarID = 287; - int done = 0; - - init_v2gEVChargeParameterType(v2gEVChargeParameterType); - - while(!done) { - switch(grammarID) { - case 287: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), 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, &v2gEVChargeParameterType->DepartureTime); - v2gEVChargeParameterType->DepartureTime_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:2013:MsgDataTypes}DepartureTime) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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_v2gCanonicalizationMethodType(bitstream_t* stream, struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType) { - int grammarID = 267; - int done = 0; - - init_v2gCanonicalizationMethodType(v2gCanonicalizationMethodType); - - while(!done) { - switch(grammarID) { - case 267: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decodeUnsignedInteger16(stream, &v2gCanonicalizationMethodType->Algorithm.charactersLen); - if (errn == 0) { - errn = (v2gCanonicalizationMethodType->Algorithm.charactersLen - 2) <= v2gCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gCanonicalizationMethodType->Algorithm.charactersLen >= 2) { - v2gCanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(v2gCanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gCanonicalizationMethodType->Algorithm.charactersLen, v2gCanonicalizationMethodType->Algorithm.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - grammarID = 47; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 47: - /* 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 = 35; - break; - case 1: - done = 1; - grammarID = 1; - break; - case 2: - grammarID = 35; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 35: - /* 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 = 35; - break; - case 1: - done = 1; - grammarID = 1; - break; - case 2: - grammarID = 35; - 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:2013:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int decode_v2gIntervalType(bitstream_t* stream, struct v2gIntervalType* v2gIntervalType) { - int grammarID = 0; - int done = 0; - - init_v2gIntervalType(v2gIntervalType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -static int decode_v2gPreChargeReqType(bitstream_t* stream, struct v2gPreChargeReqType* v2gPreChargeReqType) { - int grammarID = 288; - int done = 0; - - init_v2gPreChargeReqType(v2gPreChargeReqType); - - while(!done) { - switch(grammarID) { - case 288: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDC_EVStatusType(stream, &v2gPreChargeReqType->DC_EVStatus); - grammarID = 289; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gPreChargeReqType->EVTargetVoltage); - grammarID = 290; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 290: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPhysicalValueType(stream, &v2gPreChargeReqType->EVTargetCurrent); - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ -static int decode_v2gDC_EVSEStatusType(bitstream_t* stream, struct v2gDC_EVSEStatusType* v2gDC_EVSEStatusType) { - int grammarID = 291; - int done = 0; - - init_v2gDC_EVSEStatusType(v2gDC_EVSEStatusType); - - while(!done) { - switch(grammarID) { - case 291: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gDC_EVSEStatusType->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:2013:MsgDataTypes}NotificationMaxDelay) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 292; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 292: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, 2, &uint32); - v2gDC_EVSEStatusType->EVSENotification = (v2gEVSENotificationType) 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:2013:MsgDataTypes}EVSENotification) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 293; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 293: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode)] */ - 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, 3, &uint32); - v2gDC_EVSEStatusType->EVSEIsolationStatus = (v2gisolationLevelType) uint32; - v2gDC_EVSEStatusType->EVSEIsolationStatus_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:2013:MsgDataTypes}EVSEIsolationStatus) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 294; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - case 1: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - v2gDC_EVSEStatusType->EVSEStatusCode = (v2gDC_EVSEStatusCodeType) 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:2013:MsgDataTypes}EVSEStatusCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 294: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode)] */ - 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, 4, &uint32); - v2gDC_EVSEStatusType->EVSEStatusCode = (v2gDC_EVSEStatusCodeType) 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:2013:MsgDataTypes}EVSEStatusCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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_v2gSignatureType(bitstream_t* stream, struct v2gSignatureType* v2gSignatureType) { - int grammarID = 295; - int done = 0; - - init_v2gSignatureType(v2gSignatureType); - - while(!done) { - switch(grammarID) { - case 295: - /* 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, &v2gSignatureType->Id.charactersLen); - if (errn == 0) { - errn = (v2gSignatureType->Id.charactersLen - 2) <= v2gSignatureType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSignatureType->Id.charactersLen >= 2) { - v2gSignatureType->Id.charactersLen = (uint16_t)(v2gSignatureType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSignatureType->Id.charactersLen, v2gSignatureType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gSignatureType->Id_isUsed = 1u; - grammarID = 296; - break; - case 1: - errn = decode_v2gSignedInfoType(stream, &v2gSignatureType->SignedInfo); - grammarID = 297; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 296: - /* 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_v2gSignedInfoType(stream, &v2gSignatureType->SignedInfo); - grammarID = 297; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 297: - /* 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_v2gSignatureValueType(stream, &v2gSignatureType->SignatureValue); - grammarID = 298; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 298: - /* 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_v2gKeyInfoType(stream, &v2gSignatureType->KeyInfo); - v2gSignatureType->KeyInfo_isUsed = 1u; - grammarID = 299; - break; - case 1: - if (v2gSignatureType->Object.arrayLen < v2gSignatureType_Object_ARRAY_SIZE) { - errn = decode_v2gObjectType(stream, &v2gSignatureType->Object.array[v2gSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 299; - break; - case 2: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 299: - /* 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 (v2gSignatureType->Object.arrayLen < v2gSignatureType_Object_ARRAY_SIZE) { - errn = decode_v2gObjectType(stream, &v2gSignatureType->Object.array[v2gSignatureType->Object.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 299; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int decode_v2gCableCheckResType(bitstream_t* stream, struct v2gCableCheckResType* v2gCableCheckResType) { - int grammarID = 300; - int done = 0; - - init_v2gCableCheckResType(v2gCableCheckResType); - - while(!done) { - switch(grammarID) { - case 300: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gCableCheckResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 301; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gDC_EVSEStatusType(stream, &v2gCableCheckResType->DC_EVSEStatus); - grammarID = 231; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gCableCheckResType->EVSEProcessing = (v2gEVSEProcessingType) 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:2013:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":GenChallenge,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp)', derivedBy='EXTENSION'. */ -static int decode_v2gPaymentDetailsResType(bitstream_t* stream, struct v2gPaymentDetailsResType* v2gPaymentDetailsResType) { - int grammarID = 302; - int done = 0; - - init_v2gPaymentDetailsResType(v2gPaymentDetailsResType); - - while(!done) { - switch(grammarID) { - case 302: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gPaymentDetailsResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 303; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gPaymentDetailsResType->GenChallenge.bytesLen); - if (errn == 0) { - errn = (v2gPaymentDetailsResType->GenChallenge.bytesLen) <= v2gPaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, v2gPaymentDetailsResType->GenChallenge.bytesLen, v2gPaymentDetailsResType->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:2013:MsgBody}GenChallenge) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 304; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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, &v2gPaymentDetailsResType->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:2013:MsgBody}EVSETimeStamp) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 5; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int decode_v2gChargingStatusReqType(bitstream_t* stream, struct v2gChargingStatusReqType* v2gChargingStatusReqType) { - int grammarID = 0; - int done = 0; - - init_v2gChargingStatusReqType(v2gChargingStatusReqType); - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int decode_v2gPMaxScheduleType(bitstream_t* stream, struct v2gPMaxScheduleType* v2gPMaxScheduleType) { - int grammarID = 305; - int done = 0; - - init_v2gPMaxScheduleType(v2gPMaxScheduleType); - - while(!done) { - switch(grammarID) { - case 305: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen < v2gPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_v2gPMaxScheduleEntryType(stream, &v2gPMaxScheduleType->PMaxScheduleEntry.array[v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 306; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 306: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen < v2gPMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { - errn = decode_v2gPMaxScheduleEntryType(stream, &v2gPMaxScheduleType->PMaxScheduleEntry.array[v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 306; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing,"urn:iso:15118:2:2013:MsgDataTypes":SASchedules{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ -static int decode_v2gChargeParameterDiscoveryResType(bitstream_t* stream, struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType) { - int grammarID = 307; - int done = 0; - - init_v2gChargeParameterDiscoveryResType(v2gChargeParameterDiscoveryResType); - - while(!done) { - switch(grammarID) { - case 307: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gChargeParameterDiscoveryResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 308; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gChargeParameterDiscoveryResType->EVSEProcessing = (v2gEVSEProcessingType) 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:2013:MsgBody}EVSEProcessing) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 309; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gSAScheduleListType(stream, &v2gChargeParameterDiscoveryResType->SAScheduleList); - v2gChargeParameterDiscoveryResType->SAScheduleList_isUsed = 1u; - grammarID = 310; - break; - case 1: - errn = decode_v2gSASchedulesType(stream, &v2gChargeParameterDiscoveryResType->SASchedules); - v2gChargeParameterDiscoveryResType->SASchedules_isUsed = 1u; - grammarID = 310; - break; - case 2: - errn = decode_v2gAC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 5; - break; - case 3: - errn = decode_v2gDC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 5; - break; - case 4: - errn = decode_v2gEVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->EVSEChargeParameter); - v2gChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 1u; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gAC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter); - v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; - grammarID = 5; - break; - case 1: - errn = decode_v2gDC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter); - v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; - grammarID = 5; - break; - case 2: - errn = decode_v2gEVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->EVSEChargeParameter); - v2gChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 1u; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -static int decode_v2gPowerDeliveryResType(bitstream_t* stream, struct v2gPowerDeliveryResType* v2gPowerDeliveryResType) { - int grammarID = 311; - int done = 0; - - init_v2gPowerDeliveryResType(v2gPowerDeliveryResType); - - while(!done) { - switch(grammarID) { - case 311: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gPowerDeliveryResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 312; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 312: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gAC_EVSEStatusType(stream, &v2gPowerDeliveryResType->AC_EVSEStatus); - v2gPowerDeliveryResType->AC_EVSEStatus_isUsed = 1u; - grammarID = 5; - break; - case 1: - errn = decode_v2gDC_EVSEStatusType(stream, &v2gPowerDeliveryResType->DC_EVSEStatus); - v2gPowerDeliveryResType->DC_EVSEStatus_isUsed = 1u; - grammarID = 5; - break; - case 2: - errn = decode_v2gEVSEStatusType(stream, &v2gPowerDeliveryResType->EVSEStatus); - v2gPowerDeliveryResType->EVSEStatus_isUsed = 1u; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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:2013:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ -static int decode_v2gSAScheduleTupleType(bitstream_t* stream, struct v2gSAScheduleTupleType* v2gSAScheduleTupleType) { - int grammarID = 313; - int done = 0; - - init_v2gSAScheduleTupleType(v2gSAScheduleTupleType); - - while(!done) { - switch(grammarID) { - case 313: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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)); - v2gSAScheduleTupleType->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:2013:MsgDataTypes}SAScheduleTupleID) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 314; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 314: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gPMaxScheduleType(stream, &v2gSAScheduleTupleType->PMaxSchedule); - grammarID = 315; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 315: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff), END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->SalesTariff); - v2gSAScheduleTupleType->SalesTariff_isUsed = 1u; - grammarID = 5; - break; - case 1: - done = 1; - grammarID = 1; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; - 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_v2gSignedInfoType(bitstream_t* stream, struct v2gSignedInfoType* v2gSignedInfoType) { - int grammarID = 316; - int done = 0; - - init_v2gSignedInfoType(v2gSignedInfoType); - - while(!done) { - switch(grammarID) { - case 316: - /* 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, &v2gSignedInfoType->Id.charactersLen); - if (errn == 0) { - errn = (v2gSignedInfoType->Id.charactersLen - 2) <= v2gSignedInfoType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (v2gSignedInfoType->Id.charactersLen >= 2) { - v2gSignedInfoType->Id.charactersLen = (uint16_t)(v2gSignedInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, v2gSignedInfoType->Id.charactersLen, v2gSignedInfoType->Id.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - v2gSignedInfoType->Id_isUsed = 1u; - grammarID = 317; - break; - case 1: - errn = decode_v2gCanonicalizationMethodType(stream, &v2gSignedInfoType->CanonicalizationMethod); - grammarID = 318; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 317: - /* 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_v2gCanonicalizationMethodType(stream, &v2gSignedInfoType->CanonicalizationMethod); - grammarID = 318; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 318: - /* 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_v2gSignatureMethodType(stream, &v2gSignedInfoType->SignatureMethod); - grammarID = 319; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 319: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - if (v2gSignedInfoType->Reference.arrayLen < v2gSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_v2gReferenceType(stream, &v2gSignedInfoType->Reference.array[v2gSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 50; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 50: - /* 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 (v2gSignedInfoType->Reference.arrayLen < v2gSignedInfoType_Reference_ARRAY_SIZE) { - errn = decode_v2gReferenceType(stream, &v2gSignedInfoType->Reference.array[v2gSignedInfoType->Reference.arrayLen++]); - } else { - errn = EXI_ERROR_OUT_OF_BOUNDS; - } - grammarID = 50; - break; - case 1: - done = 1; - grammarID = 1; - 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:2013:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -static int decode_v2gMeteringReceiptResType(bitstream_t* stream, struct v2gMeteringReceiptResType* v2gMeteringReceiptResType) { - int grammarID = 311; - int done = 0; - - init_v2gMeteringReceiptResType(v2gMeteringReceiptResType); - - while(!done) { - switch(grammarID) { - case 311: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013: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); - v2gMeteringReceiptResType->ResponseCode = (v2gresponseCodeType) 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:2013:MsgBody}ResponseCode) ? */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(eventCode == 0) { - grammarID = 312; - } else { - errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ - } - } - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 312: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus)] */ - errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - errn = decode_v2gAC_EVSEStatusType(stream, &v2gMeteringReceiptResType->AC_EVSEStatus); - v2gMeteringReceiptResType->AC_EVSEStatus_isUsed = 1u; - grammarID = 5; - break; - case 1: - errn = decode_v2gDC_EVSEStatusType(stream, &v2gMeteringReceiptResType->DC_EVSEStatus); - v2gMeteringReceiptResType->DC_EVSEStatus_isUsed = 1u; - grammarID = 5; - break; - case 2: - errn = decode_v2gEVSEStatusType(stream, &v2gMeteringReceiptResType->EVSEStatus); - v2gMeteringReceiptResType->EVSEStatus_isUsed = 1u; - grammarID = 5; - break; - default: - errn = EXI_ERROR_UNKOWN_EVENT_CODE; - break; - } - } - break; - case 5: - /* Element[END_ELEMENT] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if (errn == 0) { - switch(eventCode) { - case 0: - done = 1; - grammarID = 1; + v2gDigestMethodType->ANY_isUsed = 1u; + grammarID = 904; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; @@ -15171,142 +102351,182 @@ int decode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { errn = readEXIHeader(stream); if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus), 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:2013:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry), 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({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2013: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:2013:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2013: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:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2013: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:2013:MsgDataTypes}TimeInterval), 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:2013:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ + /* 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:MsgBody}EVErrorInformation), 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:MsgBody}EVSEErrorInformation), 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}ErrorInformation), 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_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LF_EVSEFinePositioningParameters), 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_v2gEXIDocument(exiDoc); errn = decodeNBitUnsignedInteger(stream, 7, &eventCode); if(errn == 0) { switch(eventCode) { case 0: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ + errn = decode_v2gAC_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_v2gAC_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_v2gAC_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_v2gAC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter); exiDoc->AC_EVChargeParameter_isUsed = 1u; break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ + case 4: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ + errn = decode_v2gAC_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_v2gAC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter); exiDoc->AC_EVSEChargeParameter_isUsed = 1u; break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ - errn = decode_v2gAC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus); - exiDoc->AC_EVSEStatus_isUsed = 1u; + case 6: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ + errn = decode_v2gAlignmentCheckReqType(stream, &exiDoc->AlignmentCheckReq); + exiDoc->AlignmentCheckReq_isUsed = 1u; break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ + case 7: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ + errn = decode_v2gAlignmentCheckResType(stream, &exiDoc->AlignmentCheckRes); + exiDoc->AlignmentCheckRes_isUsed = 1u; + break; + case 8: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ errn = decode_v2gAuthorizationReqType(stream, &exiDoc->AuthorizationReq); exiDoc->AuthorizationReq_isUsed = 1u; break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ + case 9: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ errn = decode_v2gAuthorizationResType(stream, &exiDoc->AuthorizationRes); exiDoc->AuthorizationRes_isUsed = 1u; break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ + case 10: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ errn = decode_v2gBodyBaseType(stream, &exiDoc->BodyElement); exiDoc->BodyElement_isUsed = 1u; break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = decode_v2gCableCheckReqType(stream, &exiDoc->CableCheckReq); + case 11: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ + errn = decode_v2gBodyBaseType(stream, &exiDoc->CableCheckReq); exiDoc->CableCheckReq_isUsed = 1u; break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ + case 12: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ errn = decode_v2gCableCheckResType(stream, &exiDoc->CableCheckRes); exiDoc->CableCheckRes_isUsed = 1u; break; - case 8: + case 13: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ errn = decode_v2gCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); exiDoc->CanonicalizationMethod_isUsed = 1u; break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ + case 14: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ errn = decode_v2gCertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq); exiDoc->CertificateInstallationReq_isUsed = 1u; break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ + case 15: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ errn = decode_v2gCertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes); exiDoc->CertificateInstallationRes_isUsed = 1u; break; - case 11: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ + case 16: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ errn = decode_v2gCertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq); exiDoc->CertificateUpdateReq_isUsed = 1u; break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ + case 17: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ errn = decode_v2gCertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes); exiDoc->CertificateUpdateRes_isUsed = 1u; break; - case 13: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ + case 18: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ errn = decode_v2gChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq); exiDoc->ChargeParameterDiscoveryReq_isUsed = 1u; break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ + case 19: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ errn = decode_v2gChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes); exiDoc->ChargeParameterDiscoveryRes_isUsed = 1u; break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ + case 20: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ errn = decode_v2gChargingStatusReqType(stream, &exiDoc->ChargingStatusReq); exiDoc->ChargingStatusReq_isUsed = 1u; break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ + case 21: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ errn = decode_v2gChargingStatusResType(stream, &exiDoc->ChargingStatusRes); exiDoc->ChargingStatusRes_isUsed = 1u; break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ + case 22: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq) */ + errn = decode_v2gConnectChargingDeviceReqType(stream, &exiDoc->ConnectChargingDeviceReq); + exiDoc->ConnectChargingDeviceReq_isUsed = 1u; + break; + case 23: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ + errn = decode_v2gConnectChargingDeviceResType(stream, &exiDoc->ConnectChargingDeviceRes); + exiDoc->ConnectChargingDeviceRes_isUsed = 1u; + break; + case 24: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ errn = decode_v2gCurrentDemandReqType(stream, &exiDoc->CurrentDemandReq); exiDoc->CurrentDemandReq_isUsed = 1u; break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ + case 25: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ errn = decode_v2gCurrentDemandResType(stream, &exiDoc->CurrentDemandRes); exiDoc->CurrentDemandRes_isUsed = 1u; break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ + case 26: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ + errn = decode_v2gDC_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_v2gDC_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_v2gDC_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_v2gDC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter); exiDoc->DC_EVChargeParameter_isUsed = 1u; break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = decode_v2gDC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter); - exiDoc->DC_EVPowerDeliveryParameter_isUsed = 1u; + case 30: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ + errn = decode_v2gDC_EVSEBidirectionalParameterType(stream, &exiDoc->DC_EVSEBidirectionalParameter); + exiDoc->DC_EVSEBidirectionalParameter_isUsed = 1u; break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ + case 31: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ errn = decode_v2gDC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter); exiDoc->DC_EVSEChargeParameter_isUsed = 1u; break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ - errn = decode_v2gDC_EVSEStatusType(stream, &exiDoc->DC_EVSEStatus); - exiDoc->DC_EVSEStatus_isUsed = 1u; - break; - case 23: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ - errn = decode_v2gDC_EVStatusType(stream, &exiDoc->DC_EVStatus); - exiDoc->DC_EVStatus_isUsed = 1u; - break; - case 24: + case 32: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ errn = decode_v2gDSAKeyValueType(stream, &exiDoc->DSAKeyValue); exiDoc->DSAKeyValue_isUsed = 1u; break; - case 25: + case 33: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ errn = decode_v2gDigestMethodType(stream, &exiDoc->DigestMethod); exiDoc->DigestMethod_isUsed = 1u; break; - case 26: + case 34: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -15326,55 +102546,107 @@ int decode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { } } break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter) */ - errn = decode_v2gEVChargeParameterType(stream, &exiDoc->EVChargeParameter); - exiDoc->EVChargeParameter_isUsed = 1u; + case 35: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ + errn = decode_v2gDisconnectChargingDeviceReqType(stream, &exiDoc->DisconnectChargingDeviceReq); + exiDoc->DisconnectChargingDeviceReq_isUsed = 1u; break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_v2gEVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter); - exiDoc->EVPowerDeliveryParameter_isUsed = 1u; + case 36: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ + errn = decode_v2gDisconnectChargingDeviceResType(stream, &exiDoc->DisconnectChargingDeviceRes); + exiDoc->DisconnectChargingDeviceRes_isUsed = 1u; break; - case 29: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter) */ - errn = decode_v2gEVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter); - exiDoc->EVSEChargeParameter_isUsed = 1u; + case 37: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ + errn = decode_v2gEVEnergyTransferParameterType(stream, &exiDoc->EVEnergyTransferParameter); + exiDoc->EVEnergyTransferParameter_isUsed = 1u; break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = decode_v2gEVSEStatusType(stream, &exiDoc->EVSEStatus); - exiDoc->EVSEStatus_isUsed = 1u; + case 38: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVErrorInformation) */ + errn = decode_v2gEVErrorInformationType(stream, &exiDoc->EVErrorInformation); + exiDoc->EVErrorInformation_isUsed = 1u; break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = decode_v2gEVStatusType(stream, &exiDoc->EVStatus); - exiDoc->EVStatus_isUsed = 1u; + case 39: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ + errn = decode_v2gEVFinePositioningParametersType(stream, &exiDoc->EVFinePositioningParameters); + exiDoc->EVFinePositioningParameters_isUsed = 1u; break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry) */ - errn = decode_v2gEntryType(stream, &exiDoc->Entry); - exiDoc->Entry_isUsed = 1u; + case 40: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ + errn = decode_v2gEVFinePositioningSetupParametersType(stream, &exiDoc->EVFinePositioningSetupParameters); + exiDoc->EVFinePositioningSetupParameters_isUsed = 1u; break; - case 33: + case 41: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ + errn = decode_v2gEVSEEnergyTransferParameterType(stream, &exiDoc->EVSEEnergyTransferParameter); + exiDoc->EVSEEnergyTransferParameter_isUsed = 1u; + break; + case 42: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEErrorInformation) */ + errn = decode_v2gEVSEErrorInformationType(stream, &exiDoc->EVSEErrorInformation); + exiDoc->EVSEErrorInformation_isUsed = 1u; + break; + case 43: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ + errn = decode_v2gEVSEFinePositioningParametersType(stream, &exiDoc->EVSEFinePositioningParameters); + exiDoc->EVSEFinePositioningParameters_isUsed = 1u; + break; + case 44: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ + errn = decode_v2gEVSEFinePositioningSetupParametersType(stream, &exiDoc->EVSEFinePositioningSetupParameters); + exiDoc->EVSEFinePositioningSetupParameters_isUsed = 1u; + break; + case 45: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorInformation) */ + errn = decode_v2gBodyBaseType(stream, &exiDoc->ErrorInformation); + exiDoc->ErrorInformation_isUsed = 1u; + break; + case 46: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ + errn = decode_v2gFinePositioningReqType(stream, &exiDoc->FinePositioningReq); + exiDoc->FinePositioningReq_isUsed = 1u; + break; + case 47: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ + errn = decode_v2gFinePositioningResType(stream, &exiDoc->FinePositioningRes); + exiDoc->FinePositioningRes_isUsed = 1u; + break; + case 48: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ + errn = decode_v2gFinePositioningSetupReqType(stream, &exiDoc->FinePositioningSetupReq); + exiDoc->FinePositioningSetupReq_isUsed = 1u; + break; + case 49: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ + errn = decode_v2gFinePositioningSetupResType(stream, &exiDoc->FinePositioningSetupRes); + exiDoc->FinePositioningSetupRes_isUsed = 1u; + break; + case 50: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ + errn = decode_v2gGeneric_EVFinePositioningParametersType(stream, &exiDoc->Generic_EVFinePositioningParameters); + exiDoc->Generic_EVFinePositioningParameters_isUsed = 1u; + break; + case 51: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ + errn = decode_v2gGeneric_EVSEFinePositioningParametersType(stream, &exiDoc->Generic_EVSEFinePositioningParameters); + exiDoc->Generic_EVSEFinePositioningParameters_isUsed = 1u; + break; + case 52: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ errn = decode_v2gKeyInfoType(stream, &exiDoc->KeyInfo); exiDoc->KeyInfo_isUsed = 1u; break; - case 34: + case 53: /* 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) { - errn = (exiDoc->KeyName.charactersLen - 2) <= EXIDocument_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, EXIDocument_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -15387,40 +102659,67 @@ int decode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { } } break; - case 35: + case 54: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ errn = decode_v2gKeyValueType(stream, &exiDoc->KeyValue); exiDoc->KeyValue_isUsed = 1u; break; - case 36: + case 55: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ + errn = decode_v2gLFA_EVFinePositioningParametersType(stream, &exiDoc->LFA_EVFinePositioningParameters); + exiDoc->LFA_EVFinePositioningParameters_isUsed = 1u; + break; + case 56: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ + errn = decode_v2gLFA_EVFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVFinePositioningSetupParameters); + exiDoc->LFA_EVFinePositioningSetupParameters_isUsed = 1u; + break; + case 57: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ + errn = decode_v2gLFA_EVSEFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVSEFinePositioningSetupParameters); + exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; + break; + case 58: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LF_EVSEFinePositioningParameters) */ + errn = decode_v2gLF_EVSEFinePositioningParametersType(stream, &exiDoc->LF_EVSEFinePositioningParameters); + exiDoc->LF_EVSEFinePositioningParameters_isUsed = 1u; + break; + case 59: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ + errn = decode_v2gMV_EVSEFinePositioningParametersType(stream, &exiDoc->MV_EVSEFinePositioningParameters); + exiDoc->MV_EVSEFinePositioningParameters_isUsed = 1u; + break; + case 60: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ + errn = decode_v2gMV_EVSEFinePositioningSetupParametersType(stream, &exiDoc->MV_EVSEFinePositioningSetupParameters); + exiDoc->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; + break; + case 61: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ errn = decode_v2gManifestType(stream, &exiDoc->Manifest); exiDoc->Manifest_isUsed = 1u; break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ + case 62: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ errn = decode_v2gMeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq); exiDoc->MeteringReceiptReq_isUsed = 1u; break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = decode_v2gMeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes); + case 63: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ + errn = decode_v2gV2GResponseType(stream, &exiDoc->MeteringReceiptRes); exiDoc->MeteringReceiptRes_isUsed = 1u; break; - case 39: + case 64: /* 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) { - errn = (exiDoc->MgmtData.charactersLen - 2) <= EXIDocument_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, EXIDocument_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -15433,202 +102732,262 @@ int decode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { } } break; - case 40: + case 65: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ errn = decode_v2gObjectType(stream, &exiDoc->Object); exiDoc->Object_isUsed = 1u; break; - case 41: + case 66: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ errn = decode_v2gPGPDataType(stream, &exiDoc->PGPData); exiDoc->PGPData_isUsed = 1u; break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ + case 67: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ errn = decode_v2gPMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry); exiDoc->PMaxScheduleEntry_isUsed = 1u; break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ + case 68: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ + errn = decode_v2gPairingReqType(stream, &exiDoc->PairingReq); + exiDoc->PairingReq_isUsed = 1u; + break; + case 69: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ + errn = decode_v2gPairingResType(stream, &exiDoc->PairingRes); + exiDoc->PairingRes_isUsed = 1u; + break; + case 70: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ errn = decode_v2gPaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq); exiDoc->PaymentDetailsReq_isUsed = 1u; break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ + case 71: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ errn = decode_v2gPaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes); exiDoc->PaymentDetailsRes_isUsed = 1u; break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ + case 72: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ errn = decode_v2gPaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq); exiDoc->PaymentServiceSelectionReq_isUsed = 1u; break; - case 46: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_v2gPaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes); + case 73: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ + errn = decode_v2gV2GResponseType(stream, &exiDoc->PaymentServiceSelectionRes); exiDoc->PaymentServiceSelectionRes_isUsed = 1u; break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ + case 74: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ errn = decode_v2gPowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq); exiDoc->PowerDeliveryReq_isUsed = 1u; break; - case 48: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ + case 75: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ errn = decode_v2gPowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes); exiDoc->PowerDeliveryRes_isUsed = 1u; break; - case 49: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ + case 76: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ + errn = decode_v2gPowerDemandReqType(stream, &exiDoc->PowerDemandReq); + exiDoc->PowerDemandReq_isUsed = 1u; + break; + case 77: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ + errn = decode_v2gPowerDemandResType(stream, &exiDoc->PowerDemandRes); + exiDoc->PowerDemandRes_isUsed = 1u; + break; + case 78: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ errn = decode_v2gPreChargeReqType(stream, &exiDoc->PreChargeReq); exiDoc->PreChargeReq_isUsed = 1u; break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ + case 79: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ errn = decode_v2gPreChargeResType(stream, &exiDoc->PreChargeRes); exiDoc->PreChargeRes_isUsed = 1u; break; - case 51: + case 80: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ errn = decode_v2gRSAKeyValueType(stream, &exiDoc->RSAKeyValue); exiDoc->RSAKeyValue_isUsed = 1u; break; - case 52: + case 81: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ errn = decode_v2gReferenceType(stream, &exiDoc->Reference); exiDoc->Reference_isUsed = 1u; break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ + case 82: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ errn = decode_v2gRelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval); exiDoc->RelativeTimeInterval_isUsed = 1u; break; - case 54: + case 83: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ errn = decode_v2gRetrievalMethodType(stream, &exiDoc->RetrievalMethod); exiDoc->RetrievalMethod_isUsed = 1u; break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ + case 84: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ errn = decode_v2gSAScheduleListType(stream, &exiDoc->SAScheduleList); exiDoc->SAScheduleList_isUsed = 1u; break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ - errn = decode_v2gSASchedulesType(stream, &exiDoc->SASchedules); - exiDoc->SASchedules_isUsed = 1u; - break; - case 57: + case 85: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ errn = decode_v2gSPKIDataType(stream, &exiDoc->SPKIData); exiDoc->SPKIData_isUsed = 1u; break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ + case 86: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ errn = decode_v2gSalesTariffEntryType(stream, &exiDoc->SalesTariffEntry); exiDoc->SalesTariffEntry_isUsed = 1u; break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ + case 87: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ errn = decode_v2gServiceDetailReqType(stream, &exiDoc->ServiceDetailReq); exiDoc->ServiceDetailReq_isUsed = 1u; break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ + case 88: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ errn = decode_v2gServiceDetailResType(stream, &exiDoc->ServiceDetailRes); exiDoc->ServiceDetailRes_isUsed = 1u; break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ + case 89: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ errn = decode_v2gServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq); exiDoc->ServiceDiscoveryReq_isUsed = 1u; break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ + case 90: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ errn = decode_v2gServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes); exiDoc->ServiceDiscoveryRes_isUsed = 1u; break; - case 63: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ + case 91: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ errn = decode_v2gSessionSetupReqType(stream, &exiDoc->SessionSetupReq); exiDoc->SessionSetupReq_isUsed = 1u; break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ + case 92: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ errn = decode_v2gSessionSetupResType(stream, &exiDoc->SessionSetupRes); exiDoc->SessionSetupRes_isUsed = 1u; break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ + case 93: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ errn = decode_v2gSessionStopReqType(stream, &exiDoc->SessionStopReq); exiDoc->SessionStopReq_isUsed = 1u; break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = decode_v2gSessionStopResType(stream, &exiDoc->SessionStopRes); + case 94: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ + errn = decode_v2gV2GResponseType(stream, &exiDoc->SessionStopRes); exiDoc->SessionStopRes_isUsed = 1u; break; - case 67: + case 95: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ errn = decode_v2gSignatureType(stream, &exiDoc->Signature); exiDoc->Signature_isUsed = 1u; break; - case 68: + case 96: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ errn = decode_v2gSignatureMethodType(stream, &exiDoc->SignatureMethod); exiDoc->SignatureMethod_isUsed = 1u; break; - case 69: + case 97: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ errn = decode_v2gSignaturePropertiesType(stream, &exiDoc->SignatureProperties); exiDoc->SignatureProperties_isUsed = 1u; break; - case 70: + case 98: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ errn = decode_v2gSignaturePropertyType(stream, &exiDoc->SignatureProperty); exiDoc->SignatureProperty_isUsed = 1u; break; - case 71: + case 99: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ errn = decode_v2gSignatureValueType(stream, &exiDoc->SignatureValue); exiDoc->SignatureValue_isUsed = 1u; break; - case 72: + case 100: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ errn = decode_v2gSignedInfoType(stream, &exiDoc->SignedInfo); exiDoc->SignedInfo_isUsed = 1u; break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = decode_v2gIntervalType(stream, &exiDoc->TimeInterval); - exiDoc->TimeInterval_isUsed = 1u; + case 101: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ + errn = decode_v2gSystemStatusReqType(stream, &exiDoc->SystemStatusReq); + exiDoc->SystemStatusReq_isUsed = 1u; break; - case 74: + case 102: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ + errn = decode_v2gSystemStatusResType(stream, &exiDoc->SystemStatusRes); + exiDoc->SystemStatusRes_isUsed = 1u; + break; + case 103: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ errn = decode_v2gTransformType(stream, &exiDoc->Transform); exiDoc->Transform_isUsed = 1u; break; - case 75: + case 104: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ errn = decode_v2gTransformsType(stream, &exiDoc->Transforms); exiDoc->Transforms_isUsed = 1u; break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ + case 105: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ + errn = decode_v2gBodyBaseType(stream, &exiDoc->V2GRequest); + exiDoc->V2GRequest_isUsed = 1u; + break; + case 106: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ + errn = decode_v2gV2GResponseType(stream, &exiDoc->V2GResponse); + exiDoc->V2GResponse_isUsed = 1u; + break; + case 107: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ errn = decode_v2gAnonType_V2G_Message(stream, &exiDoc->V2G_Message); exiDoc->V2G_Message_isUsed = 1u; break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq) */ - errn = decode_v2gWeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq); + case 108: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ + errn = decode_v2gVehicleCheckInReqType(stream, &exiDoc->VehicleCheckInReq); + exiDoc->VehicleCheckInReq_isUsed = 1u; + break; + case 109: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ + errn = decode_v2gVehicleCheckInResType(stream, &exiDoc->VehicleCheckInRes); + exiDoc->VehicleCheckInRes_isUsed = 1u; + break; + case 110: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ + errn = decode_v2gVehicleCheckOutReqType(stream, &exiDoc->VehicleCheckOutReq); + exiDoc->VehicleCheckOutReq_isUsed = 1u; + break; + case 111: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ + errn = decode_v2gVehicleCheckOutResType(stream, &exiDoc->VehicleCheckOutRes); + exiDoc->VehicleCheckOutRes_isUsed = 1u; + break; + case 112: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ + errn = decode_v2gWPT_EVChargeParameterType(stream, &exiDoc->WPT_EVChargeParameter); + exiDoc->WPT_EVChargeParameter_isUsed = 1u; + break; + case 113: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ + errn = decode_v2gWPT_EVSEChargeParameterType(stream, &exiDoc->WPT_EVSEChargeParameter); + exiDoc->WPT_EVSEChargeParameter_isUsed = 1u; + break; + case 114: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ + errn = decode_v2gBodyBaseType(stream, &exiDoc->WeldingDetectionReq); exiDoc->WeldingDetectionReq_isUsed = 1u; break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ + case 115: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ errn = decode_v2gWeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes); exiDoc->WeldingDetectionRes_isUsed = 1u; break; - case 79: + case 116: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ errn = decode_v2gX509DataType(stream, &exiDoc->X509Data); exiDoc->X509Data_isUsed = 1u; @@ -15641,131 +103000,170 @@ int decode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { } + (void)exiDoc; /* avoid unused warning */ + (void)eventCode; /* avoid unused warning */ + (void)uint32; /* avoid unused warning */ + return errn; } - + #if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = readEXIHeader(stream); if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryStart), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingSession), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2013: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:2013:MsgDataTypes}EAmount), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVRESSSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVReady), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header), 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:2013:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Multiplier), START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}Notification), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}OEMProvisioningCert), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), 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:2013:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RCD), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules), 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:2013:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading), 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:2013:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval), 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:2013:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2013: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({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amountMultiplier), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ + /* 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:MsgBody}EVErrorInformation), 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:MsgBody}EVSEErrorInformation), 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({urn:iso:15118:2:2016:MsgBody}ErrorCode), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorInformation), 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_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LF_EVSEFinePositioningParameters), 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}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_v2gEXIFragment(exiFrag); - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); + errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); if(errn == 0) { switch(eventCode) { case 0: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ + errn = decode_v2gAC_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_v2gAC_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_v2gAC_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_v2gAC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter); exiFrag->AC_EVChargeParameter_isUsed = 1u; break; - case 1: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ + case 4: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ + errn = decode_v2gAC_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_v2gAC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter); exiFrag->AC_EVSEChargeParameter_isUsed = 1u; break; - case 2: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ + case 6: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AlignmentCheckParameters */ break; - case 3: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ + case 7: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ + errn = decode_v2gAlignmentCheckReqType(stream, &exiFrag->AlignmentCheckReq); + exiFrag->AlignmentCheckReq_isUsed = 1u; break; - case 4: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ + case 8: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ + errn = decode_v2gAlignmentCheckResType(stream, &exiFrag->AlignmentCheckRes); + exiFrag->AlignmentCheckRes_isUsed = 1u; + break; + case 9: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AlignmentOffset */ + break; + case 10: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->AngleGAtoVA); + exiFrag->AngleGAtoVA_isUsed = 1u; + break; + case 11: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ errn = decode_v2gAuthorizationReqType(stream, &exiFrag->AuthorizationReq); exiFrag->AuthorizationReq_isUsed = 1u; break; - case 5: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ + case 12: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ errn = decode_v2gAuthorizationResType(stream, &exiFrag->AuthorizationRes); exiFrag->AuthorizationRes_isUsed = 1u; break; - case 6: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body) */ + case 13: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body) */ errn = decode_v2gBodyType(stream, &exiFrag->Body); exiFrag->Body_isUsed = 1u; break; - case 7: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ + case 14: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ errn = decode_v2gBodyBaseType(stream, &exiFrag->BodyElement); exiFrag->BodyElement_isUsed = 1u; break; - case 8: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ - break; - case 9: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ - break; - case 10: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + 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 = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->BulkSOC = (int8_t)(uint32 + 0); - exiFrag->BulkSOC_isUsed = 1u; + 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 11: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = decode_v2gCableCheckReqType(stream, &exiFrag->CableCheckReq); + case 16: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkSOC */ + break; + case 17: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff) */ + errn = decode_v2gSalesTariffType(stream, &exiFrag->BuyBackTariff); + exiFrag->BuyBackTariff_isUsed = 1u; + break; + case 18: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ + errn = decode_v2gBodyBaseType(stream, &exiFrag->CableCheckReq); exiFrag->CableCheckReq_isUsed = 1u; break; - case 12: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ + case 19: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ errn = decode_v2gCableCheckResType(stream, &exiFrag->CableCheckRes); exiFrag->CableCheckRes_isUsed = 1u; break; - case 13: + case 20: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ errn = decode_v2gCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); exiFrag->CanonicalizationMethod_isUsed = 1u; break; - case 14: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */ + case 21: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Certificate */ break; - case 15: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ + case 22: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ errn = decode_v2gCertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq); exiFrag->CertificateInstallationReq_isUsed = 1u; break; - case 16: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ + case 23: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ errn = decode_v2gCertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes); exiFrag->CertificateInstallationRes_isUsed = 1u; break; - case 17: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ + case 24: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ errn = decode_v2gCertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq); exiFrag->CertificateUpdateReq_isUsed = 1u; break; - case 18: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ + case 25: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ errn = decode_v2gCertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes); exiFrag->CertificateUpdateRes_isUsed = 1u; break; - case 19: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ + case 26: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ errn = decode_v2gChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq); exiFrag->ChargeParameterDiscoveryReq_isUsed = 1u; break; - case 20: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ + case 27: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ errn = decode_v2gChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes); exiFrag->ChargeParameterDiscoveryRes_isUsed = 1u; break; - case 21: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress) */ + case 28: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -15779,60 +103177,32 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 22: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService) */ - errn = decode_v2gChargeServiceType(stream, &exiFrag->ChargeService); - exiFrag->ChargeService_isUsed = 1u; + 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 23: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ + case 30: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->ChargingPerformance); + exiFrag->ChargingPerformance_isUsed = 1u; break; - case 24: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ - break; - case 25: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */ + case 31: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile) */ errn = decode_v2gChargingProfileType(stream, &exiFrag->ChargingProfile); exiFrag->ChargingProfile_isUsed = 1u; break; - case 26: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 2, &(uint32)); - exiFrag->ChargingProfileEntryMaxNumberOfPhasesInUse = (int8_t)(uint32 + 1); - exiFrag->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 27: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->ChargingProfileEntryMaxPower); - exiFrag->ChargingProfileEntryMaxPower_isUsed = 1u; - break; - case 28: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryStart) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger32(stream, &exiFrag->ChargingProfileEntryStart); - exiFrag->ChargingProfileEntryStart_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:2013:MsgBody}ChargingSession) */ + case 32: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -15846,86 +103216,127 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 30: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ + case 33: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ errn = decode_v2gChargingStatusReqType(stream, &exiFrag->ChargingStatusReq); exiFrag->ChargingStatusReq_isUsed = 1u; break; - case 31: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ + case 34: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ errn = decode_v2gChargingStatusResType(stream, &exiFrag->ChargingStatusRes); exiFrag->ChargingStatusRes_isUsed = 1u; break; - case 32: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost) */ + 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_v2gConnectChargingDeviceReqType(stream, &exiFrag->ConnectChargingDeviceReq); + exiFrag->ConnectChargingDeviceReq_isUsed = 1u; + break; + case 37: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ + errn = decode_v2gConnectChargingDeviceResType(stream, &exiFrag->ConnectChargingDeviceRes); + exiFrag->ConnectChargingDeviceRes_isUsed = 1u; + break; + case 38: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost) */ errn = decode_v2gConsumptionCostType(stream, &exiFrag->ConsumptionCost); exiFrag->ConsumptionCost_isUsed = 1u; break; - case 33: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */ + case 39: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureCertChain */ break; - case 34: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */ + case 40: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureEncryptedPrivateKey */ break; - case 35: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */ + case 41: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost) */ errn = decode_v2gCostType(stream, &exiFrag->Cost); exiFrag->Cost_isUsed = 1u; break; - case 36: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ + case 42: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ errn = decode_v2gCurrentDemandReqType(stream, &exiFrag->CurrentDemandReq); exiFrag->CurrentDemandReq_isUsed = 1u; break; - case 37: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ + case 43: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ errn = decode_v2gCurrentDemandResType(stream, &exiFrag->CurrentDemandRes); exiFrag->CurrentDemandRes_isUsed = 1u; break; - case 38: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ + 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) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name CurrentSOC */ + break; + case 46: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ + errn = decode_v2gDC_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_v2gDC_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_v2gDC_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_v2gDC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter); exiFrag->DC_EVChargeParameter_isUsed = 1u; break; - case 39: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = decode_v2gDC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter); - exiFrag->DC_EVPowerDeliveryParameter_isUsed = 1u; + case 50: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ + errn = decode_v2gDC_EVSEBidirectionalParameterType(stream, &exiFrag->DC_EVSEBidirectionalParameter); + exiFrag->DC_EVSEBidirectionalParameter_isUsed = 1u; break; - case 40: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ + case 51: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ errn = decode_v2gDC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter); exiFrag->DC_EVSEChargeParameter_isUsed = 1u; break; - case 41: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ - break; - case 42: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ - break; - case 43: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ - break; - case 44: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ - break; - case 45: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */ + case 52: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DHpublickey */ break; - case 46: + case 53: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ errn = decode_v2gDSAKeyValueType(stream, &exiFrag->DSAKeyValue); exiFrag->DSAKeyValue_isUsed = 1u; break; - case 47: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime) */ + 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) { @@ -15938,12 +103349,12 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 48: + case 55: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ errn = decode_v2gDigestMethodType(stream, &exiFrag->DigestMethod); exiFrag->DigestMethod_isUsed = 1u; break; - case 49: + case 56: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -15963,13 +103374,28 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 50: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EAmount); - exiFrag->EAmount_isUsed = 1u; + case 57: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ + errn = decode_v2gDisconnectChargingDeviceReqType(stream, &exiFrag->DisconnectChargingDeviceReq); + exiFrag->DisconnectChargingDeviceReq_isUsed = 1u; break; - case 51: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel) */ + case 58: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ + errn = decode_v2gDisconnectChargingDeviceResType(stream, &exiFrag->DisconnectChargingDeviceRes); + exiFrag->DisconnectChargingDeviceRes_isUsed = 1u; + break; + case 59: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters) */ + errn = decode_v2gDisplayParametersType(stream, &exiFrag->DisplayParameters); + exiFrag->DisplayParameters_isUsed = 1u; + break; + case 60: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->Distance); + exiFrag->Distance_isUsed = 1u; + 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) { @@ -15983,8 +103409,8 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 52: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVCCID) */ + case 62: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID) */ /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -16003,211 +103429,348 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 53: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter) */ - errn = decode_v2gEVChargeParameterType(stream, &exiFrag->EVChargeParameter); - exiFrag->EVChargeParameter_isUsed = 1u; - break; - case 54: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyCapacity) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVEnergyCapacity); - exiFrag->EVEnergyCapacity_isUsed = 1u; - break; - case 55: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVEnergyRequest); - exiFrag->EVEnergyRequest_isUsed = 1u; - break; - case 56: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->EVErrorCode = (v2gDC_EVErrorCodeType) uint32; - exiFrag->EVErrorCode_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:2013:MsgDataTypes}EVMaxCurrent) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVMaxCurrent); - exiFrag->EVMaxCurrent_isUsed = 1u; - break; - case 58: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVMaxVoltage); - exiFrag->EVMaxVoltage_isUsed = 1u; - break; - case 59: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ - break; - case 60: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ - break; - case 61: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ - break; - case 62: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ - break; case 63: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ - break; - case 64: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ - break; - case 65: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVMinCurrent); - exiFrag->EVMinCurrent_isUsed = 1u; - break; - case 66: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = decode_v2gEVPowerDeliveryParameterType(stream, &exiFrag->EVPowerDeliveryParameter); - exiFrag->EVPowerDeliveryParameter_isUsed = 1u; - break; - case 67: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVRESSSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->EVRESSSOC = (int8_t)(uint32 + 0); - exiFrag->EVRESSSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 68: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVReady) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->EVReady); - exiFrag->EVReady_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 69: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter) */ - errn = decode_v2gEVSEChargeParameterType(stream, &exiFrag->EVSEChargeParameter); - exiFrag->EVSEChargeParameter_isUsed = 1u; - break; - case 70: - /* START_ELEMENT({urn:iso:15118:2:2013: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 71: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance); - exiFrag->EVSECurrentRegulationTolerance_isUsed = 1u; - break; - case 72: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered); - exiFrag->EVSEEnergyToBeDelivered_isUsed = 1u; - break; - case 73: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEID */ - break; - case 74: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->EVSEIsolationStatus = (v2gisolationLevelType) uint32; - exiFrag->EVSEIsolationStatus_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 75: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ - break; - case 76: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ - break; - case 77: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ - break; - case 78: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ - break; - case 79: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ - break; - case 80: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ - break; - case 81: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ - break; - case 82: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ - break; - case 83: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit); - exiFrag->EVSEMinimumCurrentLimit_isUsed = 1u; - break; - case 84: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit); - exiFrag->EVSEMinimumVoltageLimit_isUsed = 1u; - break; - case 85: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSENominalVoltage); - exiFrag->EVSENominalVoltage_isUsed = 1u; - break; - case 86: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification) */ + /* 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 = (v2gEVCheckInStatusType) 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 = (v2gEVCheckOutStatusType) 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) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVElectricalChargingDeviceStatus */ + break; + case 66: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ + errn = decode_v2gEVEnergyTransferParameterType(stream, &exiFrag->EVEnergyTransferParameter); + exiFrag->EVEnergyTransferParameter_isUsed = 1u; + break; + case 67: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVErrorInformation) */ + errn = decode_v2gEVErrorInformationType(stream, &exiFrag->EVErrorInformation); + exiFrag->EVErrorInformation_isUsed = 1u; + break; + case 68: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ + errn = decode_v2gEVFinePositioningParametersType(stream, &exiFrag->EVFinePositioningParameters); + exiFrag->EVFinePositioningParameters_isUsed = 1u; + break; + case 69: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ + errn = decode_v2gEVFinePositioningSetupParametersType(stream, &exiFrag->EVFinePositioningSetupParameters); + exiFrag->EVFinePositioningSetupParameters_isUsed = 1u; + break; + case 70: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVInputPower); + exiFrag->EVInputPower_isUsed = 1u; + break; + case 71: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumChargeCurrent */ + break; + case 72: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumChargeCurrent */ + break; + case 73: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumChargePower */ + break; + case 74: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumChargePower */ + break; + case 75: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVMaximumCurrent); + exiFrag->EVMaximumCurrent_isUsed = 1u; + break; + case 76: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumDischargeCurrent */ + break; + case 77: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumDischargeCurrent */ + break; + case 78: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumDischargePower */ + break; + case 79: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumDischargePower */ + break; + case 80: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumEnergyRequest */ + break; + case 81: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumEnergyRequest */ + break; + case 82: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPower */ + break; + case 83: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPower */ + break; + case 84: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltage */ + break; + case 85: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltage */ + break; + case 86: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMechanicalChargingDeviceStatus */ + break; + case 87: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumChargeCurrent */ + break; + case 88: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumChargeCurrent */ + break; + case 89: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVMinimumChargePower); + exiFrag->EVMinimumChargePower_isUsed = 1u; + break; + case 90: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumDischargeCurrent */ + break; + case 91: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumDischargeCurrent */ + break; + case 92: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVMinimumDischargePower); + exiFrag->EVMinimumDischargePower_isUsed = 1u; + break; + case 93: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumEnergyRequest */ + break; + case 94: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumEnergyRequest */ + break; + case 95: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVMinimumPower); + exiFrag->EVMinimumPower_isUsed = 1u; + break; + case 96: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumVoltage */ + break; + case 97: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumVoltage */ + break; + case 98: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVOperation */ + break; + case 99: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVPresentActivePower); + exiFrag->EVPresentActivePower_isUsed = 1u; + break; + case 100: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVPresentReactivePower); + exiFrag->EVPresentReactivePower_isUsed = 1u; + break; + case 101: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVProcessing */ + break; + case 102: + /* 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 = (v2gEVCheckOutStatusType) uint32; + exiFrag->EVSECheckOutStatus_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:MsgBody}EVSECurrentLimitAchieved) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSECurrentLimitAchieved */ + break; + case 104: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance); + exiFrag->EVSECurrentRegulationTolerance_isUsed = 1u; + break; + case 105: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEElectricalChargingDeviceStatus */ + break; + case 106: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered); + exiFrag->EVSEEnergyToBeDelivered_isUsed = 1u; + break; + case 107: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ + errn = decode_v2gEVSEEnergyTransferParameterType(stream, &exiFrag->EVSEEnergyTransferParameter); + exiFrag->EVSEEnergyTransferParameter_isUsed = 1u; + break; + case 108: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEErrorInformation) */ + errn = decode_v2gEVSEErrorInformationType(stream, &exiFrag->EVSEErrorInformation); + exiFrag->EVSEErrorInformation_isUsed = 1u; + break; + case 109: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ + errn = decode_v2gEVSEFinePositioningParametersType(stream, &exiFrag->EVSEFinePositioningParameters); + exiFrag->EVSEFinePositioningParameters_isUsed = 1u; + break; + case 110: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ + errn = decode_v2gEVSEFinePositioningSetupParametersType(stream, &exiFrag->EVSEFinePositioningSetupParameters); + exiFrag->EVSEFinePositioningSetupParameters_isUsed = 1u; + break; + case 111: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEID */ + break; + case 112: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumChargeCurrent */ + break; + case 113: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumChargeCurrent */ + break; + case 114: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumChargePower */ + break; + case 115: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumChargePower */ + break; + case 116: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrent); + exiFrag->EVSEMaximumCurrent_isUsed = 1u; + break; + case 117: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumDischargeCurrent */ + break; + case 118: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumDischargeCurrent */ + break; + case 119: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumDischargePower */ + break; + case 120: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumDischargePower */ + break; + case 121: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPower */ + break; + case 122: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPower */ + break; + case 123: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltage */ + break; + case 124: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltage */ + break; + case 125: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMechanicalChargingDeviceStatus */ + break; + case 126: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumChargeCurrent); + exiFrag->EVSEMinimumChargeCurrent_isUsed = 1u; + break; + case 127: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumDischargeCurrent); + exiFrag->EVSEMinimumDischargeCurrent_isUsed = 1u; + break; + case 128: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumPower); + exiFrag->EVSEMinimumPower_isUsed = 1u; + break; + case 129: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMinimumVoltage */ + break; + case 130: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMinimumVoltage */ + break; + case 131: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSENominalFrequency */ + break; + case 132: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSENominalVoltage); + exiFrag->EVSENominalVoltage_isUsed = 1u; + break; + case 133: + /* 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 = (v2gEVSENotificationType) uint32; exiFrag->EVSENotification_isUsed = 1u; } else { @@ -16216,172 +103779,149 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 87: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple) */ + case 134: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEOutputPower); + exiFrag->EVSEOutputPower_isUsed = 1u; + break; + case 135: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple) */ errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple); exiFrag->EVSEPeakCurrentRipple_isUsed = 1u; break; - case 88: - /* START_ELEMENT({urn:iso:15118:2:2013: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; - } - } + case 136: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPowerLimitAchieved */ break; - case 89: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSEPresentCurrent); - exiFrag->EVSEPresentCurrent_isUsed = 1u; + case 137: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPresentCurrent */ break; - case 90: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */ + case 138: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPresentVoltage */ break; - case 91: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */ + case 139: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEProcessing */ break; - case 92: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ + case 140: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus) */ errn = decode_v2gEVSEStatusType(stream, &exiFrag->EVSEStatus); exiFrag->EVSEStatus_isUsed = 1u; break; - case 93: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 4, &uint32); - exiFrag->EVSEStatusCode = (v2gDC_EVSEStatusCodeType) uint32; - exiFrag->EVSEStatusCode_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } + case 141: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSETargetPower */ break; - case 94: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */ + case 142: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVSETargetReactivePower); + exiFrag->EVSETargetReactivePower_isUsed = 1u; + break; + case 143: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSETimeStamp */ break; - case 95: - /* START_ELEMENT({urn:iso:15118:2:2013: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; - } - } + case 144: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEVoltageLimitAchieved */ break; - case 96: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = decode_v2gEVStatusType(stream, &exiFrag->EVStatus); - exiFrag->EVStatus_isUsed = 1u; - break; - case 97: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */ + case 145: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetCurrent */ break; - case 98: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */ + case 146: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetEnergyRequest */ + break; + case 147: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetEnergyRequest */ + break; + case 148: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->EVTargetPower); + exiFrag->EVTargetPower_isUsed = 1u; + break; + case 149: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetVoltage */ break; - case 99: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + case 150: + /* 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, 3, &uint32); - exiFrag->EnergyTransferMode = (v2gEnergyTransferModeType) uint32; - exiFrag->EnergyTransferMode_isUsed = 1u; + 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 100: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry) */ - errn = decode_v2gEntryType(stream, &exiFrag->Entry); - exiFrag->Entry_isUsed = 1u; + case 151: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList) */ + errn = decode_v2gServiceListType(stream, &exiFrag->EnergyTransferServiceList); + exiFrag->EnergyTransferServiceList_isUsed = 1u; break; - case 101: + case 152: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorCode) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ErrorCode */ + break; + case 153: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorInformation) */ + errn = decode_v2gBodyBaseType(stream, &exiFrag->ErrorInformation); + exiFrag->ErrorInformation_isUsed = 1u; + break; + case 154: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->Exponent.bytesLen); - if (errn == 0) { - errn = (exiFrag->Exponent.bytesLen) <= EXIFragment_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; - } - if (errn == 0) { - errn = decodeBytes(stream, exiFrag->Exponent.bytesLen, exiFrag->Exponent.bytes); - } - exiFrag->Exponent_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ break; - case 102: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode) */ + case 155: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ + break; + case 156: + /* 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->FaultCode = (v2gfaultCodeType) uint32; - exiFrag->FaultCode_isUsed = 1u; + exiFrag->FODStatus = (v2gFODStatusType) uint32; + exiFrag->FODStatus_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:2013:MsgDataTypes}FaultMsg) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->FaultMsg.charactersLen); - if (errn == 0) { - errn = (exiFrag->FaultMsg.charactersLen - 2) <= EXIFragment_FaultMsg_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (exiFrag->FaultMsg.charactersLen >= 2) { - exiFrag->FaultMsg.charactersLen = (uint16_t)(exiFrag->FaultMsg.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->FaultMsg.charactersLen, exiFrag->FaultMsg.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->FaultMsg_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } + case 157: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ + errn = decode_v2gFinePositioningReqType(stream, &exiFrag->FinePositioningReq); + exiFrag->FinePositioningReq_isUsed = 1u; break; - case 104: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService) */ + case 158: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ + errn = decode_v2gFinePositioningResType(stream, &exiFrag->FinePositioningRes); + exiFrag->FinePositioningRes_isUsed = 1u; + break; + case 159: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ + errn = decode_v2gFinePositioningSetupReqType(stream, &exiFrag->FinePositioningSetupReq); + exiFrag->FinePositioningSetupReq_isUsed = 1u; + break; + case 160: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ + errn = decode_v2gFinePositioningSetupResType(stream, &exiFrag->FinePositioningSetupRes); + exiFrag->FinePositioningSetupRes_isUsed = 1u; + break; + case 161: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -16394,22 +103934,11 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 105: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); - exiFrag->FullSOC = (int8_t)(uint32 + 0); - exiFrag->FullSOC_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } + case 162: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name FrequencyChannel */ break; - case 106: + case 163: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -16429,11 +103958,29 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 107: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */ + case 164: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GAID */ + break; + case 165: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GenChallenge */ break; - case 108: + case 166: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GenericParameters */ + break; + case 167: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ + errn = decode_v2gGeneric_EVFinePositioningParametersType(stream, &exiFrag->Generic_EVFinePositioningParameters); + exiFrag->Generic_EVFinePositioningParameters_isUsed = 1u; + break; + case 168: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ + errn = decode_v2gGeneric_EVSEFinePositioningParametersType(stream, &exiFrag->Generic_EVSEFinePositioningParameters); + exiFrag->Generic_EVSEFinePositioningParameters_isUsed = 1u; + break; + case 169: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -16447,12 +103994,26 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 109: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header) */ + case 170: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header) */ errn = decode_v2gMessageHeaderType(stream, &exiFrag->Header); exiFrag->Header_isUsed = 1u; break; - case 110: + case 171: + /* 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 172: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -16472,25 +104033,22 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 111: + case 173: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ errn = decode_v2gKeyInfoType(stream, &exiFrag->KeyInfo); exiFrag->KeyInfo_isUsed = 1u; break; - case 112: + case 174: /* 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) { - errn = (exiFrag->KeyName.charactersLen - 2) <= EXIFragment_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, EXIFragment_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -16503,48 +104061,110 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 113: + case 175: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ errn = decode_v2gKeyValueType(stream, &exiFrag->KeyValue); exiFrag->KeyValue_isUsed = 1u; break; - case 114: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */ + case 176: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ + errn = decode_v2gLFA_EVFinePositioningParametersType(stream, &exiFrag->LFA_EVFinePositioningParameters); + exiFrag->LFA_EVFinePositioningParameters_isUsed = 1u; + break; + case 177: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ + errn = decode_v2gLFA_EVFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVFinePositioningSetupParameters); + exiFrag->LFA_EVFinePositioningSetupParameters_isUsed = 1u; + break; + case 178: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ + errn = decode_v2gLFA_EVSEFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVSEFinePositioningSetupParameters); + exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; + break; + case 179: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LF_EVSEFinePositioningParameters) */ + errn = decode_v2gLF_EVSEFinePositioningParametersType(stream, &exiFrag->LF_EVSEFinePositioningParameters); + exiFrag->LF_EVSEFinePositioningParameters_isUsed = 1u; + break; + case 180: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ListOfRootCertificateIDs */ break; - case 115: + case 181: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ + errn = decode_v2gMV_EVSEFinePositioningParametersType(stream, &exiFrag->MV_EVSEFinePositioningParameters); + exiFrag->MV_EVSEFinePositioningParameters_isUsed = 1u; + break; + case 182: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ + errn = decode_v2gMV_EVSEFinePositioningSetupParametersType(stream, &exiFrag->MV_EVSEFinePositioningSetupParameters); + exiFrag->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; + break; + case 183: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector) */ + errn = decode_v2gMagneticVectorType(stream, &exiFrag->MagneticVector); + exiFrag->MagneticVector_isUsed = 1u; + break; + case 184: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList) */ + errn = decode_v2gMagneticVectorListType(stream, &exiFrag->MagneticVectorList); + exiFrag->MagneticVectorList_isUsed = 1u; + break; + case 185: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup) */ + errn = decode_v2gMagneticVectorSetupType(stream, &exiFrag->MagneticVectorSetup); + exiFrag->MagneticVectorSetup_isUsed = 1u; + break; + case 186: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList) */ + errn = decode_v2gMagneticVectorSetupListType(stream, &exiFrag->MagneticVectorSetupList); + exiFrag->MagneticVectorSetupList_isUsed = 1u; + break; + case 187: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ errn = decode_v2gManifestType(stream, &exiFrag->Manifest); exiFrag->Manifest_isUsed = 1u; break; - case 116: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + case 188: + /* 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 = decodeUnsignedInteger16(stream, &exiFrag->MaxEntriesSAScheduleTuple); - exiFrag->MaxEntriesSAScheduleTuple_isUsed = 1u; + 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 117: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterID) */ + case 189: + /* 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 190: + /* 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) { - errn = (exiFrag->MeterID.charactersLen - 2) <= EXIFragment_MeterID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiFrag->MeterID.charactersLen, exiFrag->MeterID.characters, EXIFragment_MeterID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -16557,26 +104177,40 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 118: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */ + case 191: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name MeterInfo */ break; - case 119: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */ + case 192: + /* 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->MeterReading); - exiFrag->MeterReading_isUsed = 1u; + 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 120: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus) */ + case 193: + /* 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 194: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) */ /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -16589,30 +104223,27 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 121: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ + case 195: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ errn = decode_v2gMeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq); exiFrag->MeteringReceiptReq_isUsed = 1u; break; - case 122: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = decode_v2gMeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes); + case 196: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ + errn = decode_v2gV2GResponseType(stream, &exiFrag->MeteringReceiptRes); exiFrag->MeteringReceiptRes_isUsed = 1u; break; - case 123: + case 197: /* 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) { - errn = (exiFrag->MgmtData.charactersLen - 2) <= EXIFragment_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, EXIFragment_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -16625,7 +104256,21 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 124: + case 198: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest) */ + errn = decode_v2gMinimumPMaxRequestType(stream, &exiFrag->MinimumPMaxRequest); + exiFrag->MinimumPMaxRequest_isUsed = 1u; + break; + case 199: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry) */ + errn = decode_v2gPMaxScheduleEntryType(stream, &exiFrag->MinimumPMaxScheduleEntry); + exiFrag->MinimumPMaxScheduleEntry_isUsed = 1u; + break; + case 200: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name MinimumSOC */ + break; + case 201: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -16645,28 +104290,8 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 125: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Multiplier) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeNBitUnsignedInteger(stream, 3, &(uint32)); - exiFrag->Multiplier = (int8_t)(uint32 -3); - exiFrag->Multiplier_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 126: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}Notification) */ - errn = decode_v2gNotificationType(stream, &exiFrag->Notification); - exiFrag->Notification_isUsed = 1u; - break; - case 127: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay) */ + case 202: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -16679,8 +104304,8 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 128: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels) */ + case 203: + /* 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) { @@ -16694,8 +104319,16 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 129: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}OEMProvisioningCert) */ + case 204: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name NumberOfSensors */ + break; + case 205: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name NumberOfSignalPackages */ + break; + case 206: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -16714,12 +104347,16 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 130: + case 207: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ errn = decode_v2gObjectType(stream, &exiFrag->Object); exiFrag->Object_isUsed = 1u; break; - case 131: + case 208: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name OperationMode */ + break; + case 209: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -16739,12 +104376,12 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 132: + case 210: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ errn = decode_v2gPGPDataType(stream, &exiFrag->PGPData); exiFrag->PGPData_isUsed = 1u; break; - case 133: + case 211: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -16764,51 +104401,103 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 134: + case 212: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ break; - case 135: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */ + case 213: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax) */ errn = decode_v2gPhysicalValueType(stream, &exiFrag->PMax); exiFrag->PMax_isUsed = 1u; break; - case 136: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule) */ + case 214: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule) */ + errn = decode_v2gPMaxScheduleType(stream, &exiFrag->PMaxDischargeSchedule); + exiFrag->PMaxDischargeSchedule_isUsed = 1u; + break; + case 215: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule) */ errn = decode_v2gPMaxScheduleType(stream, &exiFrag->PMaxSchedule); exiFrag->PMaxSchedule_isUsed = 1u; break; - case 137: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ + case 216: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ errn = decode_v2gPMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry); exiFrag->PMaxScheduleEntry_isUsed = 1u; break; - case 138: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter) */ + case 217: + /* 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 218: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PackageSeparationTime */ + break; + case 219: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PairingParameters */ + break; + case 220: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ + errn = decode_v2gPairingReqType(stream, &exiFrag->PairingReq); + exiFrag->PairingReq_isUsed = 1u; + break; + case 221: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ + errn = decode_v2gPairingResType(stream, &exiFrag->PairingRes); + exiFrag->PairingRes_isUsed = 1u; + break; + case 222: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter) */ errn = decode_v2gParameterType(stream, &exiFrag->Parameter); exiFrag->Parameter_isUsed = 1u; break; - case 139: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet) */ + case 223: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet) */ errn = decode_v2gParameterSetType(stream, &exiFrag->ParameterSet); exiFrag->ParameterSet_isUsed = 1u; break; - case 140: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */ + case 224: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ParameterSetID */ break; - case 141: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ + case 225: + /* 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 = (v2gparkingMethodType) uint32; + exiFrag->ParkingMethod_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}PaymentDetailsReq) */ errn = decode_v2gPaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq); exiFrag->PaymentDetailsReq_isUsed = 1u; break; - case 142: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ + case 227: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ errn = decode_v2gPaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes); exiFrag->PaymentDetailsRes_isUsed = 1u; break; - case 143: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption) */ + case 228: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -16822,22 +104511,22 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 144: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList) */ + case 229: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList) */ errn = decode_v2gPaymentOptionListType(stream, &exiFrag->PaymentOptionList); exiFrag->PaymentOptionList_isUsed = 1u; break; - case 145: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ + case 230: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ errn = decode_v2gPaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq); exiFrag->PaymentServiceSelectionReq_isUsed = 1u; break; - case 146: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = decode_v2gPaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes); + case 231: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ + errn = decode_v2gV2GResponseType(stream, &exiFrag->PaymentServiceSelectionRes); exiFrag->PaymentServiceSelectionRes_isUsed = 1u; break; - case 147: + case 232: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -16857,32 +104546,46 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 148: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ + case 233: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ errn = decode_v2gPowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq); exiFrag->PowerDeliveryReq_isUsed = 1u; break; - case 149: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ + case 234: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ errn = decode_v2gPowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes); exiFrag->PowerDeliveryRes_isUsed = 1u; break; - case 150: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ + case 235: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PowerDemandParameters */ + break; + case 236: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ + errn = decode_v2gPowerDemandReqType(stream, &exiFrag->PowerDemandReq); + exiFrag->PowerDemandReq_isUsed = 1u; + break; + case 237: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ + errn = decode_v2gPowerDemandResType(stream, &exiFrag->PowerDemandRes); + exiFrag->PowerDemandRes_isUsed = 1u; + break; + case 238: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ errn = decode_v2gPreChargeReqType(stream, &exiFrag->PreChargeReq); exiFrag->PreChargeReq_isUsed = 1u; break; - case 151: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ + case 239: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ errn = decode_v2gPreChargeResType(stream, &exiFrag->PreChargeRes); exiFrag->PreChargeRes_isUsed = 1u; break; - case 152: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry) */ - errn = decode_v2gProfileEntryType(stream, &exiFrag->ProfileEntry); + case 240: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry) */ + errn = decode_v2gPMaxScheduleEntryType(stream, &exiFrag->ProfileEntry); exiFrag->ProfileEntry_isUsed = 1u; break; - case 153: + case 241: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -16902,75 +104605,91 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 154: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RCD) */ - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeBoolean(stream, &exiFrag->RCD); - exiFrag->RCD_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 155: + case 242: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ errn = decode_v2gRSAKeyValueType(stream, &exiFrag->RSAKeyValue); exiFrag->RSAKeyValue_isUsed = 1u; break; - case 156: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */ + case 243: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ReceiptRequired */ break; - case 157: + case 244: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ errn = decode_v2gReferenceType(stream, &exiFrag->Reference); exiFrag->Reference_isUsed = 1u; break; - case 158: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = decode_v2gRelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval); - exiFrag->RelativeTimeInterval_isUsed = 1u; + case 245: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name RelativeTimeInterval */ break; - case 159: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->RemainingTimeToBulkSoC); - exiFrag->RemainingTimeToBulkSoC_isUsed = 1u; - break; - case 160: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToFullSoC) */ - errn = decode_v2gPhysicalValueType(stream, &exiFrag->RemainingTimeToFullSoC); - exiFrag->RemainingTimeToFullSoC_isUsed = 1u; - break; - case 161: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + case 246: + /* 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, 3, &uint32); - exiFrag->RequestedEnergyTransferMode = (v2gEnergyTransferModeType) uint32; - exiFrag->RequestedEnergyTransferMode_isUsed = 1u; + 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 162: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ResponseCode */ + case 247: + /* 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 163: + case 248: + /* 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 249: + /* 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 = (v2gresponseCodeType) uint32; + exiFrag->ResponseCode_isUsed = 1u; + } else { + /* Second level event (e.g., xsi:type, xsi:nil, ...) */ + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + } + } + break; + case 250: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ errn = decode_v2gRetrievalMethodType(stream, &exiFrag->RetrievalMethod); exiFrag->RetrievalMethod_isUsed = 1u; break; - case 164: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter) */ + case 251: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -16983,44 +104702,47 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 165: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID) */ + case 252: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID) */ errn = decode_v2gX509IssuerSerialType(stream, &exiFrag->RootCertificateID); exiFrag->RootCertificateID_isUsed = 1u; break; - case 166: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */ + case 253: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->RotationVAtoGA); + exiFrag->RotationVAtoGA_isUsed = 1u; + break; + case 254: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAProvisioningCertificateChain */ break; - case 167: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ - errn = decode_v2gSAScheduleListType(stream, &exiFrag->SAScheduleList); - exiFrag->SAScheduleList_isUsed = 1u; + case 255: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleList */ break; - case 168: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple) */ + case 256: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleList */ + break; + case 257: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple) */ errn = decode_v2gSAScheduleTupleType(stream, &exiFrag->SAScheduleTuple); exiFrag->SAScheduleTuple_isUsed = 1u; break; - case 169: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */ + case 258: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ break; - case 170: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */ + case 259: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ break; - case 171: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ - errn = decode_v2gSASchedulesType(stream, &exiFrag->SASchedules); - exiFrag->SASchedules_isUsed = 1u; - break; - case 172: + case 260: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ errn = decode_v2gSPKIDataType(stream, &exiFrag->SPKIData); exiFrag->SPKIData_isUsed = 1u; break; - case 173: + case 261: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -17040,25 +104762,22 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 174: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff) */ + case 262: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff) */ errn = decode_v2gSalesTariffType(stream, &exiFrag->SalesTariff); exiFrag->SalesTariff_isUsed = 1u; break; - case 175: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription) */ + case 263: + /* 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) { - errn = (exiFrag->SalesTariffDescription.charactersLen - 2) <= EXIFragment_SalesTariffDescription_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiFrag->SalesTariffDescription.charactersLen, exiFrag->SalesTariffDescription.characters, EXIFragment_SalesTariffDescription_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -17071,13 +104790,13 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 176: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ + case 264: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ errn = decode_v2gSalesTariffEntryType(stream, &exiFrag->SalesTariffEntry); exiFrag->SalesTariffEntry_isUsed = 1u; break; - case 177: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID) */ + case 265: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17091,7 +104810,7 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 178: + case 266: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -17111,8 +104830,13 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 179: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption) */ + case 267: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService) */ + errn = decode_v2gSelectedServiceType(stream, &exiFrag->SelectedEnergyTransferService); + exiFrag->SelectedEnergyTransferService_isUsed = 1u; + break; + case 268: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17126,131 +104850,125 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 180: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService) */ + case 269: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService) */ errn = decode_v2gSelectedServiceType(stream, &exiFrag->SelectedService); exiFrag->SelectedService_isUsed = 1u; break; - case 181: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList) */ - errn = decode_v2gSelectedServiceListType(stream, &exiFrag->SelectedServiceList); - exiFrag->SelectedServiceList_isUsed = 1u; + case 270: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList) */ + errn = decode_v2gSelectedServiceListType(stream, &exiFrag->SelectedVASList); + exiFrag->SelectedVASList_isUsed = 1u; break; - case 182: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service) */ + case 271: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor) */ + errn = decode_v2gSensorType(stream, &exiFrag->Sensor); + exiFrag->Sensor_isUsed = 1u; + break; + case 272: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorID */ + break; + case 273: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorList */ + break; + case 274: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements) */ + errn = decode_v2gSensorMeasurementsType(stream, &exiFrag->SensorMeasurements); + exiFrag->SensorMeasurements_isUsed = 1u; + break; + case 275: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorOrder */ + break; + case 276: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation) */ + errn = decode_v2gCartesianCoordinatesType(stream, &exiFrag->SensorOrientation); + exiFrag->SensorOrientation_isUsed = 1u; + break; + case 277: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage) */ + errn = decode_v2gSensorPackageType(stream, &exiFrag->SensorPackage); + exiFrag->SensorPackage_isUsed = 1u; + break; + case 278: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorPackageList */ + break; + case 279: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) */ + errn = decode_v2gCartesianCoordinatesType(stream, &exiFrag->SensorPosition); + exiFrag->SensorPosition_isUsed = 1u; + break; + case 280: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service) */ errn = decode_v2gServiceType(stream, &exiFrag->Service); exiFrag->Service_isUsed = 1u; break; - case 183: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ - break; - case 184: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ - break; - case 185: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ + case 281: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ errn = decode_v2gServiceDetailReqType(stream, &exiFrag->ServiceDetailReq); exiFrag->ServiceDetailReq_isUsed = 1u; break; - case 186: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ + case 282: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ errn = decode_v2gServiceDetailResType(stream, &exiFrag->ServiceDetailRes); exiFrag->ServiceDetailRes_isUsed = 1u; break; - case 187: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ + case 283: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ errn = decode_v2gServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq); exiFrag->ServiceDiscoveryReq_isUsed = 1u; break; - case 188: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ + case 284: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ errn = decode_v2gServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes); exiFrag->ServiceDiscoveryRes_isUsed = 1u; break; - case 189: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */ + case 285: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ break; - case 190: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */ + case 286: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ break; - case 191: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList) */ - errn = decode_v2gServiceListType(stream, &exiFrag->ServiceList); - exiFrag->ServiceList_isUsed = 1u; - break; - case 192: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName) */ - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); - if(errn == 0) { - if(eventCode == 0) { - errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceName.charactersLen); - if (errn == 0) { - errn = (exiFrag->ServiceName.charactersLen - 2) <= EXIFragment_ServiceName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } - if (errn == 0) { - if (exiFrag->ServiceName.charactersLen >= 2) { - exiFrag->ServiceName.charactersLen = (uint16_t)(exiFrag->ServiceName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, exiFrag->ServiceName.charactersLen, exiFrag->ServiceName.characters); - } else { - /* string table hit */ - errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; - } - } - exiFrag->ServiceName_isUsed = 1u; - } else { - /* Second level event (e.g., xsi:type, xsi:nil, ...) */ - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - } - } - break; - case 193: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceParameterList) */ + case 287: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList) */ errn = decode_v2gServiceParameterListType(stream, &exiFrag->ServiceParameterList); exiFrag->ServiceParameterList_isUsed = 1u; break; - case 194: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ - break; - case 195: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ - break; - case 196: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */ + case 288: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ break; - case 197: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */ + case 289: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ break; - case 198: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ + case 290: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ errn = decode_v2gSessionSetupReqType(stream, &exiFrag->SessionSetupReq); exiFrag->SessionSetupReq_isUsed = 1u; break; - case 199: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ + case 291: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ errn = decode_v2gSessionSetupResType(stream, &exiFrag->SessionSetupRes); exiFrag->SessionSetupRes_isUsed = 1u; break; - case 200: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ + case 292: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ errn = decode_v2gSessionStopReqType(stream, &exiFrag->SessionStopReq); exiFrag->SessionStopReq_isUsed = 1u; break; - case 201: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = decode_v2gSessionStopResType(stream, &exiFrag->SessionStopRes); + case 293: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ + errn = decode_v2gV2GResponseType(stream, &exiFrag->SessionStopRes); exiFrag->SessionStopRes_isUsed = 1u; break; - case 202: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading) */ + case 294: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17269,48 +104987,80 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 203: + case 295: + /* 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 296: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SignalPulseDuration */ + break; + case 297: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SignalSeparationTime */ + break; + case 298: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ errn = decode_v2gSignatureType(stream, &exiFrag->Signature); exiFrag->Signature_isUsed = 1u; break; - case 204: + case 299: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ errn = decode_v2gSignatureMethodType(stream, &exiFrag->SignatureMethod); exiFrag->SignatureMethod_isUsed = 1u; break; - case 205: + case 300: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ errn = decode_v2gSignaturePropertiesType(stream, &exiFrag->SignatureProperties); exiFrag->SignatureProperties_isUsed = 1u; break; - case 206: + case 301: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ errn = decode_v2gSignaturePropertyType(stream, &exiFrag->SignatureProperty); exiFrag->SignatureProperty_isUsed = 1u; break; - case 207: + case 302: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ errn = decode_v2gSignatureValueType(stream, &exiFrag->SignatureValue); exiFrag->SignatureValue_isUsed = 1u; break; - case 208: + case 303: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ errn = decode_v2gSignedInfoType(stream, &exiFrag->SignedInfo); exiFrag->SignedInfo_isUsed = 1u; break; - case 209: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates) */ + case 304: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates) */ errn = decode_v2gSubCertificatesType(stream, &exiFrag->SubCertificates); exiFrag->SubCertificates_isUsed = 1u; break; - case 210: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode) */ - errn = decode_v2gSupportedEnergyTransferModeType(stream, &exiFrag->SupportedEnergyTransferMode); - exiFrag->SupportedEnergyTransferMode_isUsed = 1u; + case 305: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs) */ + errn = decode_v2gServiceIDListType(stream, &exiFrag->SupportedServiceIDs); + exiFrag->SupportedServiceIDs_isUsed = 1u; break; - case 211: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter) */ + case 306: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ + errn = decode_v2gSystemStatusReqType(stream, &exiFrag->SystemStatusReq); + exiFrag->SystemStatusReq_isUsed = 1u; + break; + case 307: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ + errn = decode_v2gSystemStatusResType(stream, &exiFrag->SystemStatusRes); + exiFrag->SystemStatusRes_isUsed = 1u; + break; + case 308: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17323,43 +105073,75 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 212: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = decode_v2gIntervalType(stream, &exiFrag->TimeInterval); - exiFrag->TimeInterval_isUsed = 1u; + case 309: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset) */ + errn = decode_v2gTargetPositionType(stream, &exiFrag->TargetOffset); + exiFrag->TargetOffset_isUsed = 1u; break; - case 213: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = decode_v2gTransformType(stream, &exiFrag->Transform); - exiFrag->Transform_isUsed = 1u; - break; - case 214: - /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = decode_v2gTransformsType(stream, &exiFrag->Transforms); - exiFrag->Transforms_isUsed = 1u; - break; - case 215: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Unit) */ - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + case 310: + /* 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 = decodeNBitUnsignedInteger(stream, 3, &uint32); - exiFrag->Unit = (v2gunitSymbolType) uint32; - exiFrag->Unit_isUsed = 1u; + 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 216: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ + case 311: + /* 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 312: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name TargetSOC */ + break; + case 313: + /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ + errn = decode_v2gTransformType(stream, &exiFrag->Transform); + exiFrag->Transform_isUsed = 1u; + break; + case 314: + /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ + errn = decode_v2gTransformsType(stream, &exiFrag->Transforms); + exiFrag->Transforms_isUsed = 1u; + break; + case 315: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ + errn = decode_v2gBodyBaseType(stream, &exiFrag->V2GRequest); + exiFrag->V2GRequest_isUsed = 1u; + break; + case 316: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ + errn = decode_v2gV2GResponseType(stream, &exiFrag->V2GResponse); + exiFrag->V2GResponse_isUsed = 1u; + break; + case 317: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ errn = decode_v2gAnonType_V2G_Message(stream, &exiFrag->V2G_Message); exiFrag->V2G_Message_isUsed = 1u; break; - case 217: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Value) */ + case 318: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList) */ + errn = decode_v2gServiceListType(stream, &exiFrag->VASList); + exiFrag->VASList_isUsed = 1u; + break; + case 319: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17372,17 +105154,61 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 218: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq) */ - errn = decode_v2gWeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq); + case 320: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ + errn = decode_v2gVehicleCheckInReqType(stream, &exiFrag->VehicleCheckInReq); + exiFrag->VehicleCheckInReq_isUsed = 1u; + break; + case 321: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ + errn = decode_v2gVehicleCheckInResType(stream, &exiFrag->VehicleCheckInRes); + exiFrag->VehicleCheckInRes_isUsed = 1u; + break; + case 322: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ + errn = decode_v2gVehicleCheckOutReqType(stream, &exiFrag->VehicleCheckOutReq); + exiFrag->VehicleCheckOutReq_isUsed = 1u; + break; + case 323: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ + errn = decode_v2gVehicleCheckOutResType(stream, &exiFrag->VehicleCheckOutRes); + exiFrag->VehicleCheckOutRes_isUsed = 1u; + break; + case 324: + /* 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 325: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ + errn = decode_v2gWPT_EVChargeParameterType(stream, &exiFrag->WPT_EVChargeParameter); + exiFrag->WPT_EVChargeParameter_isUsed = 1u; + break; + case 326: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ + errn = decode_v2gWPT_EVSEChargeParameterType(stream, &exiFrag->WPT_EVSEChargeParameter); + exiFrag->WPT_EVSEChargeParameter_isUsed = 1u; + break; + case 327: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ + errn = decode_v2gBodyBaseType(stream, &exiFrag->WeldingDetectionReq); exiFrag->WeldingDetectionReq_isUsed = 1u; break; - case 219: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ + case 328: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ errn = decode_v2gWeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes); exiFrag->WeldingDetectionRes_isUsed = 1u; break; - case 220: + case 329: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -17402,7 +105228,7 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 221: + case 330: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -17422,25 +105248,22 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 222: + case 331: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ errn = decode_v2gX509DataType(stream, &exiFrag->X509Data); exiFrag->X509Data_isUsed = 1u; break; - case 223: + case 332: /* 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) { - errn = (exiFrag->X509IssuerName.charactersLen - 2) <= EXIFragment_X509IssuerName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, EXIFragment_X509IssuerName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -17453,12 +105276,12 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 224: + case 333: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ errn = decode_v2gX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); exiFrag->X509IssuerSerial_isUsed = 1u; break; - case 225: + case 334: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -17478,7 +105301,7 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 226: + case 335: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -17492,20 +105315,17 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 227: + case 336: /* 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) { - errn = (exiFrag->X509SubjectName.charactersLen - 2) <= EXIFragment_X509SubjectName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, EXIFragment_X509SubjectName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -17518,20 +105338,31 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 228: + case 337: + /* 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 338: /* 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) { - errn = (exiFrag->XPath.charactersLen - 2) <= EXIFragment_XPath_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, EXIFragment_XPath_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -17544,7 +105375,7 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 229: + case 339: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); @@ -17564,37 +105395,41 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 230: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amount) */ - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + case 340: + /* 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 = decodeUnsignedInteger32(stream, &exiFrag->amount); - exiFrag->amount_isUsed = 1u; + 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 231: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amountMultiplier) */ - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + case 341: + /* 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 = decodeNBitUnsignedInteger(stream, 3, &(uint32)); - exiFrag->amountMultiplier = (int8_t)(uint32 -3); - exiFrag->amountMultiplier_isUsed = 1u; + 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 232: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}boolValue) */ + case 342: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount) */ + errn = decode_v2gPhysicalValueType(stream, &exiFrag->amount); + exiFrag->amount_isUsed = 1u; + break; + case 343: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17607,8 +105442,8 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 233: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue) */ + case 344: + /* 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) { @@ -17622,8 +105457,8 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 234: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind) */ + case 345: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17637,8 +105472,8 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 235: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration) */ + case 346: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17651,12 +105486,12 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 236: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ + case 347: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name eMAID */ break; - case 237: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */ + case 348: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17669,13 +105504,13 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 238: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue) */ + case 349: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue) */ errn = decode_v2gPhysicalValueType(stream, &exiFrag->physicalValue); exiFrag->physicalValue_isUsed = 1u; break; - case 239: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue) */ + case 350: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17688,8 +105523,8 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 240: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start) */ + case 351: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { @@ -17702,25 +105537,22 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } break; - case 241: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue) */ + case 352: + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue) */ errn = decode_v2gPhysicalValueType(stream, &exiFrag->startValue); exiFrag->startValue_isUsed = 1u; break; - case 242: - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}stringValue) */ + case 353: + /* 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) { - errn = (exiFrag->stringValue.charactersLen - 2) <= EXIFragment_stringValue_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiFrag->stringValue.charactersLen, exiFrag->stringValue.characters, EXIFragment_stringValue_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -17740,17 +105572,22 @@ int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } if(errn == 0) { /* EndDocument */ - errn = decodeNBitUnsignedInteger(stream, 8, &eventCode); - if (eventCode != 244) { + errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); + if (eventCode != 355) { errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; } } } + (void)exiFrag; /* avoid unused warning */ + (void)decode_v2gChargeLoopReqType; + (void)decode_v2gV2GRequestType; + (void)decode_v2gEntryType; + return errn; -} -#endif /* DEPLOY_ISO_CODEC_FRAGMENT */ +} +#endif /* DEPLOY_ISO_CODEC_FRAGMENT */ #endif /* DEPLOY_ISO_CODEC */ diff --git a/src/codec/v2gEXIDatatypesDecoder.h b/src/codec/v2gEXIDatatypesDecoder.h index dc6741c..de5d3e8 100644 --- a/src/codec/v2gEXIDatatypesDecoder.h +++ b/src/codec/v2gEXIDatatypesDecoder.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -50,10 +50,10 @@ extern "C" { #include "v2gEXIDatatypes.h" int decode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc); - + #if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES int decode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag); -#endif /* DEPLOY_ISO_CODEC_FRAGMENT */ +#endif /* DEPLOY_ISO_CODEC_FRAGMENT */ #endif /* DEPLOY_ISO_CODEC */ diff --git a/src/codec/v2gEXIDatatypesEncoder.c b/src/codec/v2gEXIDatatypesEncoder.c index 935790f..e121ca9 100644 --- a/src/codec/v2gEXIDatatypesEncoder.c +++ b/src/codec/v2gEXIDatatypesEncoder.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -46,116 +46,160 @@ static int errn; /* Forward Declarations */ -static int encode_v2gEVSEChargeParameterType(bitstream_t* stream, struct v2gEVSEChargeParameterType* v2gEVSEChargeParameterType); -static int encode_v2gDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct v2gDC_EVPowerDeliveryParameterType* v2gDC_EVPowerDeliveryParameterType); -static int encode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrentDemandResType* v2gCurrentDemandResType); -static int encode_v2gAC_EVSEStatusType(bitstream_t* stream, struct v2gAC_EVSEStatusType* v2gAC_EVSEStatusType); -static int encode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeResType* v2gPreChargeResType); -static int encode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffType* v2gSalesTariffType); -static int encode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignaturePropertyType* v2gSignaturePropertyType); -static int encode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType); -static int encode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v2gSPKIDataType); -static int encode_v2gNotificationType(bitstream_t* stream, struct v2gNotificationType* v2gNotificationType); -static int encode_v2gObjectType(bitstream_t* stream, struct v2gObjectType* v2gObjectType); -static int encode_v2gManifestType(bitstream_t* stream, struct v2gManifestType* v2gManifestType); -static int encode_v2gParameterSetType(bitstream_t* stream, struct v2gParameterSetType* v2gParameterSetType); -static int encode_v2gPaymentServiceSelectionResType(bitstream_t* stream, struct v2gPaymentServiceSelectionResType* v2gPaymentServiceSelectionResType); -static int encode_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType); -static int encode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType); -static int encode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCertificatesType* v2gSubCertificatesType); -static int encode_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymentOptionListType* v2gPaymentOptionListType); -static int encode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTariffEntryType* v2gSalesTariffEntryType); -static int encode_v2gSupportedEnergyTransferModeType(bitstream_t* stream, struct v2gSupportedEnergyTransferModeType* v2gSupportedEnergyTransferModeType); -static int encode_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelectedServiceType* v2gSelectedServiceType); -static int encode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeldingDetectionResType* v2gWeldingDetectionResType); -static int encode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType); -static int encode_v2gConsumptionCostType(bitstream_t* stream, struct v2gConsumptionCostType* v2gConsumptionCostType); -static int encode_v2gDC_EVChargeParameterType(bitstream_t* stream, struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType); -static int encode_v2gChargingProfileType(bitstream_t* stream, struct v2gChargingProfileType* v2gChargingProfileType); -static int encode_v2gMeteringReceiptReqType(bitstream_t* stream, struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType); -static int encode_v2gChargeParameterDiscoveryReqType(bitstream_t* stream, struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType); -static int encode_v2gBodyType(bitstream_t* stream, struct v2gBodyType* v2gBodyType); -static int encode_v2gTransformsType(bitstream_t* stream, struct v2gTransformsType* v2gTransformsType); -static int encode_v2gServiceDiscoveryReqType(bitstream_t* stream, struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType); -static int encode_v2gEVSEStatusType(bitstream_t* stream, struct v2gEVSEStatusType* v2gEVSEStatusType); -static int encode_v2gProfileEntryType(bitstream_t* stream, struct v2gProfileEntryType* v2gProfileEntryType); -static int encode_v2gKeyInfoType(bitstream_t* stream, struct v2gKeyInfoType* v2gKeyInfoType); -static int encode_v2gMessageHeaderType(bitstream_t* stream, struct v2gMessageHeaderType* v2gMessageHeaderType); -static int encode_v2gServiceDetailReqType(bitstream_t* stream, struct v2gServiceDetailReqType* v2gServiceDetailReqType); -static int encode_v2gAC_EVSEChargeParameterType(bitstream_t* stream, struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType); -static int encode_v2gCertificateUpdateReqType(bitstream_t* stream, struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType); -static int encode_v2gPhysicalValueType(bitstream_t* stream, struct v2gPhysicalValueType* v2gPhysicalValueType); -static int encode_v2gX509IssuerSerialType(bitstream_t* stream, struct v2gX509IssuerSerialType* v2gX509IssuerSerialType); -static int encode_v2gListOfRootCertificateIDsType(bitstream_t* stream, struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType); -static int encode_v2gServiceDiscoveryResType(bitstream_t* stream, struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType); -static int encode_v2gPaymentDetailsReqType(bitstream_t* stream, struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType); -static int encode_v2gPMaxScheduleEntryType(bitstream_t* stream, struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType); -static int encode_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCertificateUpdateResType* v2gCertificateUpdateResType); -static int encode_v2gCertificateInstallationResType(bitstream_t* stream, struct v2gCertificateInstallationResType* v2gCertificateInstallationResType); -static int encode_v2gCableCheckReqType(bitstream_t* stream, struct v2gCableCheckReqType* v2gCableCheckReqType); -static int encode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2gPGPDataType); -static int encode_v2gServiceParameterListType(bitstream_t* stream, struct v2gServiceParameterListType* v2gServiceParameterListType); -static int encode_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionStopReqType* v2gSessionStopReqType); -static int encode_v2gSASchedulesType(bitstream_t* stream, struct v2gSASchedulesType* v2gSASchedulesType); -static int encode_v2gWeldingDetectionReqType(bitstream_t* stream, struct v2gWeldingDetectionReqType* v2gWeldingDetectionReqType); -static int encode_v2gDiffieHellmanPublickeyType(bitstream_t* stream, struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType); -static int encode_v2gSessionSetupReqType(bitstream_t* stream, struct v2gSessionSetupReqType* v2gSessionSetupReqType); -static int encode_v2gCurrentDemandReqType(bitstream_t* stream, struct v2gCurrentDemandReqType* v2gCurrentDemandReqType); -static int encode_v2gDC_EVStatusType(bitstream_t* stream, struct v2gDC_EVStatusType* v2gDC_EVStatusType); -static int encode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueType* v2gDSAKeyValueType); -static int encode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargingStatusResType* v2gChargingStatusResType); -static int encode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* v2gReferenceType); -static int encode_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueType* v2gRSAKeyValueType); -static int encode_v2gAnonType_V2G_Message(bitstream_t* stream, struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message); -static int encode_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType); -static int encode_v2gSignatureMethodType(bitstream_t* stream, struct v2gSignatureMethodType* v2gSignatureMethodType); -static int encode_v2gCertificateInstallationReqType(bitstream_t* stream, struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType); -static int encode_v2gCertificateChainType(bitstream_t* stream, struct v2gCertificateChainType* v2gCertificateChainType); -static int encode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionSetupResType* v2gSessionSetupResType); -static int encode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostType); -static int encode_v2gX509DataType(bitstream_t* stream, struct v2gX509DataType* v2gX509DataType); -static int encode_v2gEMAIDType(bitstream_t* stream, struct v2gEMAIDType* v2gEMAIDType); -static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* v2gMeterInfoType); -static int encode_v2gAuthorizationResType(bitstream_t* stream, struct v2gAuthorizationResType* v2gAuthorizationResType); -static int encode_v2gEntryType(bitstream_t* stream, struct v2gEntryType* v2gEntryType); -static int encode_v2gServiceType(bitstream_t* stream, struct v2gServiceType* v2gServiceType); -static int encode_v2gSelectedServiceListType(bitstream_t* stream, struct v2gSelectedServiceListType* v2gSelectedServiceListType); -static int encode_v2gChargeServiceType(bitstream_t* stream, struct v2gChargeServiceType* v2gChargeServiceType); -static int encode_v2gServiceDetailResType(bitstream_t* stream, struct v2gServiceDetailResType* v2gServiceDetailResType); static int encode_v2gSignatureValueType(bitstream_t* stream, struct v2gSignatureValueType* v2gSignatureValueType); -static int encode_v2gSignaturePropertiesType(bitstream_t* stream, struct v2gSignaturePropertiesType* v2gSignaturePropertiesType); -static int encode_v2gAuthorizationReqType(bitstream_t* stream, struct v2gAuthorizationReqType* v2gAuthorizationReqType); -static int encode_v2gEVStatusType(bitstream_t* stream, struct v2gEVStatusType* v2gEVStatusType); -static int encode_v2gDC_EVSEChargeParameterType(bitstream_t* stream, struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType); -static int encode_v2gSAScheduleListType(bitstream_t* stream, struct v2gSAScheduleListType* v2gSAScheduleListType); -static int encode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMethodType* v2gDigestMethodType); -static int encode_v2gKeyValueType(bitstream_t* stream, struct v2gKeyValueType* v2gKeyValueType); -static int encode_v2gEVPowerDeliveryParameterType(bitstream_t* stream, struct v2gEVPowerDeliveryParameterType* v2gEVPowerDeliveryParameterType); -static int encode_v2gTransformType(bitstream_t* stream, struct v2gTransformType* v2gTransformType); -static int encode_v2gBodyBaseType(bitstream_t* stream, struct v2gBodyBaseType* v2gBodyBaseType); -static int encode_v2gSessionStopResType(bitstream_t* stream, struct v2gSessionStopResType* v2gSessionStopResType); -static int encode_v2gParameterType(bitstream_t* stream, struct v2gParameterType* v2gParameterType); -static int encode_v2gServiceListType(bitstream_t* stream, struct v2gServiceListType* v2gServiceListType); -static int encode_v2gRetrievalMethodType(bitstream_t* stream, struct v2gRetrievalMethodType* v2gRetrievalMethodType); -static int encode_v2gEVChargeParameterType(bitstream_t* stream, struct v2gEVChargeParameterType* v2gEVChargeParameterType); -static int encode_v2gCanonicalizationMethodType(bitstream_t* stream, struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType); -static int encode_v2gIntervalType(bitstream_t* stream, struct v2gIntervalType* v2gIntervalType); -static int encode_v2gPreChargeReqType(bitstream_t* stream, struct v2gPreChargeReqType* v2gPreChargeReqType); -static int encode_v2gDC_EVSEStatusType(bitstream_t* stream, struct v2gDC_EVSEStatusType* v2gDC_EVSEStatusType); +static int encode_v2gEVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gEVSEFinePositioningSetupParametersType* v2gEVSEFinePositioningSetupParametersType); +static int encode_v2gAlignmentCheckResType(bitstream_t* stream, struct v2gAlignmentCheckResType* v2gAlignmentCheckResType); +static int encode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffType* v2gSalesTariffType); +static int encode_v2gFinePositioningSetupReqType(bitstream_t* stream, struct v2gFinePositioningSetupReqType* v2gFinePositioningSetupReqType); +static int encode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCertificatesType* v2gSubCertificatesType); +static int encode_v2gCertificateInstallationResType(bitstream_t* stream, struct v2gCertificateInstallationResType* v2gCertificateInstallationResType); +static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* v2gMeterInfoType); +static int encode_v2gChargeLoopReqType(bitstream_t* stream, struct v2gChargeLoopReqType* v2gChargeLoopReqType); +static int encode_v2gMessageHeaderType(bitstream_t* stream, struct v2gMessageHeaderType* v2gMessageHeaderType); static int encode_v2gSignatureType(bitstream_t* stream, struct v2gSignatureType* v2gSignatureType); -static int encode_v2gCableCheckResType(bitstream_t* stream, struct v2gCableCheckResType* v2gCableCheckResType); -static int encode_v2gPaymentDetailsResType(bitstream_t* stream, struct v2gPaymentDetailsResType* v2gPaymentDetailsResType); +static int encode_v2gBodyType(bitstream_t* stream, struct v2gBodyType* v2gBodyType); +static int encode_v2gFinePositioningReqType(bitstream_t* stream, struct v2gFinePositioningReqType* v2gFinePositioningReqType); +static int encode_v2gPMaxScheduleEntryType(bitstream_t* stream, struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType); +static int encode_v2gPreChargeReqType(bitstream_t* stream, struct v2gPreChargeReqType* v2gPreChargeReqType); +static int encode_v2gVehicleCheckInResType(bitstream_t* stream, struct v2gVehicleCheckInResType* v2gVehicleCheckInResType); +static int encode_v2gV2GRequestType(bitstream_t* stream, struct v2gV2GRequestType* v2gV2GRequestType); +static int encode_v2gLF_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gLF_EVSEFinePositioningParametersType* v2gLF_EVSEFinePositioningParametersType); +static int encode_v2gSignaturePropertiesType(bitstream_t* stream, struct v2gSignaturePropertiesType* v2gSignaturePropertiesType); +static int encode_v2gMagneticVectorSetupListType(bitstream_t* stream, struct v2gMagneticVectorSetupListType* v2gMagneticVectorSetupListType); +static int encode_v2gSensorMeasurementsType(bitstream_t* stream, struct v2gSensorMeasurementsType* v2gSensorMeasurementsType); +static int encode_v2gAC_EVSEBidirectionalParameterType(bitstream_t* stream, struct v2gAC_EVSEBidirectionalParameterType* v2gAC_EVSEBidirectionalParameterType); +static int encode_v2gConsumptionCostType(bitstream_t* stream, struct v2gConsumptionCostType* v2gConsumptionCostType); +static int encode_v2gAuthorizationResType(bitstream_t* stream, struct v2gAuthorizationResType* v2gAuthorizationResType); +static int encode_v2gGeneric_EVFinePositioningParametersType(bitstream_t* stream, struct v2gGeneric_EVFinePositioningParametersType* v2gGeneric_EVFinePositioningParametersType); +static int encode_v2gEVSEStatusType(bitstream_t* stream, struct v2gEVSEStatusType* v2gEVSEStatusType); +static int encode_v2gX509IssuerSerialType(bitstream_t* stream, struct v2gX509IssuerSerialType* v2gX509IssuerSerialType); +static int encode_v2gAC_EVBidirectionalParameterType(bitstream_t* stream, struct v2gAC_EVBidirectionalParameterType* v2gAC_EVBidirectionalParameterType); +static int encode_v2gEVFinePositioningSetupParametersType(bitstream_t* stream, struct v2gEVFinePositioningSetupParametersType* v2gEVFinePositioningSetupParametersType); +static int encode_v2gMV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gMV_EVSEFinePositioningSetupParametersType* v2gMV_EVSEFinePositioningSetupParametersType); +static int encode_v2gMeteringReceiptReqType(bitstream_t* stream, struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType); +static int encode_v2gAuthorizationReqType(bitstream_t* stream, struct v2gAuthorizationReqType* v2gAuthorizationReqType); static int encode_v2gChargingStatusReqType(bitstream_t* stream, struct v2gChargingStatusReqType* v2gChargingStatusReqType); -static int encode_v2gPMaxScheduleType(bitstream_t* stream, struct v2gPMaxScheduleType* v2gPMaxScheduleType); -static int encode_v2gChargeParameterDiscoveryResType(bitstream_t* stream, struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType); -static int encode_v2gPowerDeliveryResType(bitstream_t* stream, struct v2gPowerDeliveryResType* v2gPowerDeliveryResType); -static int encode_v2gSAScheduleTupleType(bitstream_t* stream, struct v2gSAScheduleTupleType* v2gSAScheduleTupleType); +static int encode_v2gManifestType(bitstream_t* stream, struct v2gManifestType* v2gManifestType); +static int encode_v2gSensorType(bitstream_t* stream, struct v2gSensorType* v2gSensorType); +static int encode_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType); +static int encode_v2gMagneticVectorListType(bitstream_t* stream, struct v2gMagneticVectorListType* v2gMagneticVectorListType); +static int encode_v2gAlignmentCheckReqType(bitstream_t* stream, struct v2gAlignmentCheckReqType* v2gAlignmentCheckReqType); +static int encode_v2gEVSEErrorInformationType(bitstream_t* stream, struct v2gEVSEErrorInformationType* v2gEVSEErrorInformationType); +static int encode_v2gWPT_EVSEChargeParameterType(bitstream_t* stream, struct v2gWPT_EVSEChargeParameterType* v2gWPT_EVSEChargeParameterType); +static int encode_v2gDisplayParametersType(bitstream_t* stream, struct v2gDisplayParametersType* v2gDisplayParametersType); +static int encode_v2gSignatureMethodType(bitstream_t* stream, struct v2gSignatureMethodType* v2gSignatureMethodType); +static int encode_v2gTargetPositionType(bitstream_t* stream, struct v2gTargetPositionType* v2gTargetPositionType); +static int encode_v2gEVFinePositioningParametersType(bitstream_t* stream, struct v2gEVFinePositioningParametersType* v2gEVFinePositioningParametersType); +static int encode_v2gVehicleCheckOutReqType(bitstream_t* stream, struct v2gVehicleCheckOutReqType* v2gVehicleCheckOutReqType); +static int encode_v2gFinePositioningSetupResType(bitstream_t* stream, struct v2gFinePositioningSetupResType* v2gFinePositioningSetupResType); +static int encode_v2gSAScheduleListType(bitstream_t* stream, struct v2gSAScheduleListType* v2gSAScheduleListType); +static int encode_v2gSystemStatusReqType(bitstream_t* stream, struct v2gSystemStatusReqType* v2gSystemStatusReqType); +static int encode_v2gCertificateChainType(bitstream_t* stream, struct v2gCertificateChainType* v2gCertificateChainType); +static int encode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostType); +static int encode_v2gServiceType(bitstream_t* stream, struct v2gServiceType* v2gServiceType); +static int encode_v2gServiceParameterListType(bitstream_t* stream, struct v2gServiceParameterListType* v2gServiceParameterListType); static int encode_v2gSignedInfoType(bitstream_t* stream, struct v2gSignedInfoType* v2gSignedInfoType); -static int encode_v2gMeteringReceiptResType(bitstream_t* stream, struct v2gMeteringReceiptResType* v2gMeteringReceiptResType); +static int encode_v2gEVErrorInformationType(bitstream_t* stream, struct v2gEVErrorInformationType* v2gEVErrorInformationType); +static int encode_v2gListOfRootCertificateIDsType(bitstream_t* stream, struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType); +static int encode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v2gSPKIDataType); +static int encode_v2gDC_BidirectionalControlReqType(bitstream_t* stream, struct v2gDC_BidirectionalControlReqType* v2gDC_BidirectionalControlReqType); +static int encode_v2gPairingResType(bitstream_t* stream, struct v2gPairingResType* v2gPairingResType); +static int encode_v2gCartesianCoordinatesType(bitstream_t* stream, struct v2gCartesianCoordinatesType* v2gCartesianCoordinatesType); +static int encode_v2gChargeParameterDiscoveryReqType(bitstream_t* stream, struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType); +static int encode_v2gChargeParameterDiscoveryResType(bitstream_t* stream, struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType); +static int encode_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueType* v2gRSAKeyValueType); +static int encode_v2gLFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct v2gLFA_EVFinePositioningSetupParametersType* v2gLFA_EVFinePositioningSetupParametersType); +static int encode_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelectedServiceType* v2gSelectedServiceType); +static int encode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignaturePropertyType* v2gSignaturePropertyType); +static int encode_v2gAC_BidirectionalControlResType(bitstream_t* stream, struct v2gAC_BidirectionalControlResType* v2gAC_BidirectionalControlResType); +static int encode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2gPGPDataType); +static int encode_v2gSystemStatusResType(bitstream_t* stream, struct v2gSystemStatusResType* v2gSystemStatusResType); +static int encode_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCertificateUpdateResType* v2gCertificateUpdateResType); +static int encode_v2gParameterSetType(bitstream_t* stream, struct v2gParameterSetType* v2gParameterSetType); +static int encode_v2gSAScheduleTupleType(bitstream_t* stream, struct v2gSAScheduleTupleType* v2gSAScheduleTupleType); +static int encode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueType* v2gDSAKeyValueType); +static int encode_v2gMagneticVectorType(bitstream_t* stream, struct v2gMagneticVectorType* v2gMagneticVectorType); +static int encode_v2gServiceIDListType(bitstream_t* stream, struct v2gServiceIDListType* v2gServiceIDListType); +static int encode_v2gX509DataType(bitstream_t* stream, struct v2gX509DataType* v2gX509DataType); +static int encode_v2gEVEnergyTransferParameterType(bitstream_t* stream, struct v2gEVEnergyTransferParameterType* v2gEVEnergyTransferParameterType); +static int encode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeResType* v2gPreChargeResType); +static int encode_v2gFinePositioningResType(bitstream_t* stream, struct v2gFinePositioningResType* v2gFinePositioningResType); +static int encode_v2gLFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gLFA_EVSEFinePositioningSetupParametersType* v2gLFA_EVSEFinePositioningSetupParametersType); +static int encode_v2gMinimumPMaxRequestType(bitstream_t* stream, struct v2gMinimumPMaxRequestType* v2gMinimumPMaxRequestType); +static int encode_v2gCanonicalizationMethodType(bitstream_t* stream, struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType); +static int encode_v2gCertificateInstallationReqType(bitstream_t* stream, struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType); +static int encode_v2gVehicleCheckInReqType(bitstream_t* stream, struct v2gVehicleCheckInReqType* v2gVehicleCheckInReqType); +static int encode_v2gMV_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gMV_EVSEFinePositioningParametersType* v2gMV_EVSEFinePositioningParametersType); +static int encode_v2gPowerDeliveryResType(bitstream_t* stream, struct v2gPowerDeliveryResType* v2gPowerDeliveryResType); +static int encode_v2gEVSEEnergyTransferParameterType(bitstream_t* stream, struct v2gEVSEEnergyTransferParameterType* v2gEVSEEnergyTransferParameterType); +static int encode_v2gDiffieHellmanPublickeyType(bitstream_t* stream, struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType); +static int encode_v2gV2GResponseType(bitstream_t* stream, struct v2gV2GResponseType* v2gV2GResponseType); +static int encode_v2gCableCheckResType(bitstream_t* stream, struct v2gCableCheckResType* v2gCableCheckResType); +static int encode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTariffEntryType* v2gSalesTariffEntryType); +static int encode_v2gChargingProfileType(bitstream_t* stream, struct v2gChargingProfileType* v2gChargingProfileType); +static int encode_v2gServiceDiscoveryResType(bitstream_t* stream, struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType); +static int encode_v2gPMaxScheduleType(bitstream_t* stream, struct v2gPMaxScheduleType* v2gPMaxScheduleType); +static int encode_v2gSensorPackageType(bitstream_t* stream, struct v2gSensorPackageType* v2gSensorPackageType); +static int encode_v2gDC_EVSEBidirectionalParameterType(bitstream_t* stream, struct v2gDC_EVSEBidirectionalParameterType* v2gDC_EVSEBidirectionalParameterType); +static int encode_v2gDC_EVSEChargeParameterType(bitstream_t* stream, struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType); +static int encode_v2gConnectChargingDeviceReqType(bitstream_t* stream, struct v2gConnectChargingDeviceReqType* v2gConnectChargingDeviceReqType); +static int encode_v2gCertificateUpdateReqType(bitstream_t* stream, struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType); +static int encode_v2gKeyInfoType(bitstream_t* stream, struct v2gKeyInfoType* v2gKeyInfoType); +static int encode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeldingDetectionResType* v2gWeldingDetectionResType); +static int encode_v2gPhysicalValueType(bitstream_t* stream, struct v2gPhysicalValueType* v2gPhysicalValueType); +static int encode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType); +static int encode_v2gSensorListType(bitstream_t* stream, struct v2gSensorListType* v2gSensorListType); +static int encode_v2gPairingReqType(bitstream_t* stream, struct v2gPairingReqType* v2gPairingReqType); +static int encode_v2gDisconnectChargingDeviceReqType(bitstream_t* stream, struct v2gDisconnectChargingDeviceReqType* v2gDisconnectChargingDeviceReqType); +static int encode_v2gParameterType(bitstream_t* stream, struct v2gParameterType* v2gParameterType); +static int encode_v2gEVSEFinePositioningParametersType(bitstream_t* stream, struct v2gEVSEFinePositioningParametersType* v2gEVSEFinePositioningParametersType); +static int encode_v2gAC_EVSEChargeParameterType(bitstream_t* stream, struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType); +static int encode_v2gServiceDiscoveryReqType(bitstream_t* stream, struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType); +static int encode_v2gConnectChargingDeviceResType(bitstream_t* stream, struct v2gConnectChargingDeviceResType* v2gConnectChargingDeviceResType); +static int encode_v2gPowerDemandReqType(bitstream_t* stream, struct v2gPowerDemandReqType* v2gPowerDemandReqType); +static int encode_v2gLFA_EVFinePositioningParametersType(bitstream_t* stream, struct v2gLFA_EVFinePositioningParametersType* v2gLFA_EVFinePositioningParametersType); +static int encode_v2gTransformType(bitstream_t* stream, struct v2gTransformType* v2gTransformType); +static int encode_v2gObjectType(bitstream_t* stream, struct v2gObjectType* v2gObjectType); +static int encode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType); +static int encode_v2gGeneric_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gGeneric_EVSEFinePositioningParametersType* v2gGeneric_EVSEFinePositioningParametersType); +static int encode_v2gSensorPackageListType(bitstream_t* stream, struct v2gSensorPackageListType* v2gSensorPackageListType); +static int encode_v2gPaymentDetailsResType(bitstream_t* stream, struct v2gPaymentDetailsResType* v2gPaymentDetailsResType); +static int encode_v2gAnonType_V2G_Message(bitstream_t* stream, struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message); +static int encode_v2gAC_BidirectionalControlReqType(bitstream_t* stream, struct v2gAC_BidirectionalControlReqType* v2gAC_BidirectionalControlReqType); +static int encode_v2gBodyBaseType(bitstream_t* stream, struct v2gBodyBaseType* v2gBodyBaseType); +static int encode_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionStopReqType* v2gSessionStopReqType); +static int encode_v2gEntryType(bitstream_t* stream, struct v2gEntryType* v2gEntryType); +static int encode_v2gPowerDemandResType(bitstream_t* stream, struct v2gPowerDemandResType* v2gPowerDemandResType); +static int encode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionSetupResType* v2gSessionSetupResType); +static int encode_v2gVehicleCheckOutResType(bitstream_t* stream, struct v2gVehicleCheckOutResType* v2gVehicleCheckOutResType); +static int encode_v2gKeyValueType(bitstream_t* stream, struct v2gKeyValueType* v2gKeyValueType); +static int encode_v2gEMAIDType(bitstream_t* stream, struct v2gEMAIDType* v2gEMAIDType); +static int encode_v2gTransformsType(bitstream_t* stream, struct v2gTransformsType* v2gTransformsType); +static int encode_v2gCurrentDemandReqType(bitstream_t* stream, struct v2gCurrentDemandReqType* v2gCurrentDemandReqType); +static int encode_v2gRetrievalMethodType(bitstream_t* stream, struct v2gRetrievalMethodType* v2gRetrievalMethodType); +static int encode_v2gServiceListType(bitstream_t* stream, struct v2gServiceListType* v2gServiceListType); +static int encode_v2gDC_EVBidirectionalParameterType(bitstream_t* stream, struct v2gDC_EVBidirectionalParameterType* v2gDC_EVBidirectionalParameterType); +static int encode_v2gServiceDetailResType(bitstream_t* stream, struct v2gServiceDetailResType* v2gServiceDetailResType); +static int encode_v2gSelectedServiceListType(bitstream_t* stream, struct v2gSelectedServiceListType* v2gSelectedServiceListType); +static int encode_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType); +static int encode_v2gDisconnectChargingDeviceResType(bitstream_t* stream, struct v2gDisconnectChargingDeviceResType* v2gDisconnectChargingDeviceResType); +static int encode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType); +static int encode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargingStatusResType* v2gChargingStatusResType); +static int encode_v2gPaymentDetailsReqType(bitstream_t* stream, struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType); +static int encode_v2gMagneticVectorSetupType(bitstream_t* stream, struct v2gMagneticVectorSetupType* v2gMagneticVectorSetupType); +static int encode_v2gDC_EVChargeParameterType(bitstream_t* stream, struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType); +static int encode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* v2gReferenceType); +static int encode_v2gServiceDetailReqType(bitstream_t* stream, struct v2gServiceDetailReqType* v2gServiceDetailReqType); +static int encode_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymentOptionListType* v2gPaymentOptionListType); +static int encode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrentDemandResType* v2gCurrentDemandResType); +static int encode_v2gDC_BidirectionalControlResType(bitstream_t* stream, struct v2gDC_BidirectionalControlResType* v2gDC_BidirectionalControlResType); +static int encode_v2gWPT_EVChargeParameterType(bitstream_t* stream, struct v2gWPT_EVChargeParameterType* v2gWPT_EVChargeParameterType); +static int encode_v2gSessionSetupReqType(bitstream_t* stream, struct v2gSessionSetupReqType* v2gSessionSetupReqType); +static int encode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMethodType* v2gDigestMethodType); - /* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEChargeParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_v2gEVSEChargeParameterType(bitstream_t* stream, struct v2gEVSEChargeParameterType* v2gEVSEChargeParameterType) { + /* 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 encode_v2gSignatureValueType(bitstream_t* stream, struct v2gSignatureValueType* v2gSignatureValueType) { int grammarID = 0; int done = 0; @@ -163,104 +207,53 @@ static int encode_v2gEVSEChargeParameterType(bitstream_t* stream, struct v2gEVSE while(!done) { switch(grammarID) { case 0: - /* FirstStartTag[END_ELEMENT] */ + /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ + if ( v2gSignatureValueType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureValueType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignatureValueType->Id.characters, v2gSignatureValueType->Id.charactersLen); + } + } + grammarID = 1; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureValueType->CONTENT.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gSignatureValueType->CONTENT.bytes, v2gSignatureValueType->CONTENT.bytesLen); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1: + /* StartTag[CHARACTERS[BINARY_BASE64]] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - done = 1; + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureValueType->CONTENT.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gSignatureValueType->CONTENT.bytes, v2gSignatureValueType->CONTENT.bytesLen); + } } - grammarID = 1; + grammarID = 2; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVPowerDeliveryParameterType', base type name='EVPowerDeliveryParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ChargingComplete)', derivedBy='EXTENSION'. */ -static int encode_v2gDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct v2gDC_EVPowerDeliveryParameterType* v2gDC_EVPowerDeliveryParameterType) { - int grammarID = 2; - int done = 0; - - - while(!done) { - switch(grammarID) { case 2: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVStatusType(stream, &v2gDC_EVPowerDeliveryParameterType->DC_EVStatus ); - } - grammarID = 3; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 3: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete)] */ - if ( v2gDC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gDC_EVPowerDeliveryParameterType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 4; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gDC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 4: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gDC_EVPowerDeliveryParameterType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -276,38 +269,99 @@ static int encode_v2gDC_EVPowerDeliveryParameterType(bitstream_t* stream, struct return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2013:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2013:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2013:MsgBody":EVSEMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrentDemandResType* v2gCurrentDemandResType) { - int grammarID = 6; +/* 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 encode_v2gEVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gEVSEFinePositioningSetupParametersType* v2gEVSEFinePositioningSetupParametersType) { + int grammarID = 4; int done = 0; while(!done) { switch(grammarID) { - case 6: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 4: + /* FirstStartTag[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAlignmentCheckResType(bitstream_t* stream, struct v2gAlignmentCheckResType* v2gAlignmentCheckResType) { + int grammarID = 5; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 5: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gCurrentDemandResType->ResponseCode); + errn = encodeNBitUnsignedInteger(stream, 5, v2gAlignmentCheckResType->ResponseCode); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } + grammarID = 6; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 6: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gAlignmentCheckResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gAlignmentCheckResType->EVSEStatus ); + } grammarID = 7; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gAlignmentCheckResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 8; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; case 7: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encode_v2gDC_EVSEStatusType(stream, &v2gCurrentDemandResType->DC_EVSEStatus ); + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gAlignmentCheckResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } } grammarID = 8; } else { @@ -315,23 +369,65 @@ static int encode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 8: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ + if ( v2gAlignmentCheckResType->AlignmentCheckParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentVoltage ); + errn = encode_v2gParameterSetType(stream, &v2gAlignmentCheckResType->AlignmentCheckParameters ); } - grammarID = 9; + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 9: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent)] */ - if ( 1 == 1 ) { + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentCurrent ); + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffType* v2gSalesTariffType) { + int grammarID = 9; + int done = 0; + + unsigned int v2gSalesTariffType_SalesTariffEntry_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 9: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSalesTariffType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSalesTariffType->Id.characters, v2gSalesTariffType->Id.charactersLen); + } } grammarID = 10; } else { @@ -339,14 +435,14 @@ static int encode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 10: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSECurrentLimitAchieved)] */ + /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandResType->EVSECurrentLimitAchieved); + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSalesTariffType->SalesTariffID - 1)); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } @@ -357,475 +453,7 @@ static int encode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrent } break; case 11: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEVoltageLimitAchieved)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandResType->EVSEVoltageLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 12; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 12: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPowerLimitAchieved)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandResType->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 13; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 13: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - if ( v2gCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumVoltageLimit ); - } - grammarID = 14; - } else if ( v2gCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 15; - } else if ( v2gCurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 16; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 14: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - if ( v2gCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumCurrentLimit ); - } - grammarID = 15; - } else if ( v2gCurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 16; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 15: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - if ( v2gCurrentDemandResType->EVSEMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumPowerLimit ); - } - grammarID = 16; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 16: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 17; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 17: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gCurrentDemandResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 18; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 18: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( v2gCurrentDemandResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gMeterInfoType(stream, &v2gCurrentDemandResType->MeterInfo ); - } - grammarID = 19; - } else if ( v2gCurrentDemandResType->ReceiptRequired_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 19: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), END_ELEMENT] */ - if ( v2gCurrentDemandResType->ReceiptRequired_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":RCD))', derivedBy='EXTENSION'. */ -static int encode_v2gAC_EVSEStatusType(bitstream_t* stream, struct v2gAC_EVSEStatusType* v2gAC_EVSEStatusType) { - int grammarID = 20; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 20: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, v2gAC_EVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 21; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 21: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gAC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 22; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 22: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RCD)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gAC_EVSEStatusType->RCD); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int encode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeResType* v2gPreChargeResType) { - int grammarID = 23; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 23: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gPreChargeResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 24; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVSEStatusType(stream, &v2gPreChargeResType->DC_EVSEStatus ); - } - grammarID = 25; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gPreChargeResType->EVSEPresentVoltage ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2013:MsgDataTypes":NumEPriceLevels{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffType* v2gSalesTariffType) { - int grammarID = 26; - int done = 0; - - unsigned int v2gSalesTariffType_SalesTariffEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 26: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID)] */ - if ( v2gSalesTariffType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSalesTariffType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gSalesTariffType->Id.characters, v2gSalesTariffType->Id.charactersLen); - } - } - grammarID = 27; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSalesTariffType->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 27: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSalesTariffType->SalesTariffID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 28; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 28: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ + /* 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)] */ if ( v2gSalesTariffType->SalesTariffDescription_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { @@ -841,7 +469,7 @@ static int encode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 29; + grammarID = 12; } else if ( v2gSalesTariffType->NumEPriceLevels_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { @@ -853,19 +481,19 @@ static int encode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 30; + grammarID = 13; } else if (v2gSalesTariffType_SalesTariffEntry_currArrayIndex < v2gSalesTariffType->SalesTariffEntry.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 2); if(errn == 0) { errn = encode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array [v2gSalesTariffType_SalesTariffEntry_currArrayIndex++]); } - grammarID = 31; + grammarID = 14; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 29: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ + case 12: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ if ( v2gSalesTariffType->NumEPriceLevels_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { @@ -877,43 +505,43 @@ static int encode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 30; + grammarID = 13; } else if (v2gSalesTariffType_SalesTariffEntry_currArrayIndex < v2gSalesTariffType->SalesTariffEntry.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { errn = encode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array [v2gSalesTariffType_SalesTariffEntry_currArrayIndex++]); } - grammarID = 31; + grammarID = 14; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 30: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry)] */ + case 13: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ if (v2gSalesTariffType_SalesTariffEntry_currArrayIndex < v2gSalesTariffType->SalesTariffEntry.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array [v2gSalesTariffType_SalesTariffEntry_currArrayIndex++]); } - grammarID = 31; + grammarID = 14; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 31: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ + case 14: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ if (v2gSalesTariffType_SalesTariffEntry_currArrayIndex < v2gSalesTariffType->SalesTariffEntry.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { errn = encode_v2gSalesTariffEntryType(stream, &v2gSalesTariffType->SalesTariffEntry.array [v2gSalesTariffType_SalesTariffEntry_currArrayIndex++]); } - grammarID = 31; + grammarID = 14; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -929,333 +557,46 @@ static int encode_v2gSalesTariffType(bitstream_t* stream, struct v2gSalesTariffT 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 encode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignaturePropertyType* v2gSignaturePropertyType) { - int grammarID = 32; +/* 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 encode_v2gFinePositioningSetupReqType(bitstream_t* stream, struct v2gFinePositioningSetupReqType* v2gFinePositioningSetupReqType) { + int grammarID = 15; int done = 0; while(!done) { switch(grammarID) { - case 32: - /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ - if ( v2gSignaturePropertyType->Id_isUsed == 1u ) { + case 15: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), END_ELEMENT] */ + if ( v2gFinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gSignaturePropertyType->Id.characters, v2gSignaturePropertyType->Id.charactersLen); - } + errn = encode_v2gEVFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupReqType->EVFinePositioningSetupParameters ); } - grammarID = 33; - } else if (1==1) { + grammarID = 2; + } else if ( v2gFinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gSignaturePropertyType->Target.characters, v2gSignaturePropertyType->Target.charactersLen); - } + errn = encode_v2gLFA_EVFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters ); } - grammarID = 34; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 33: - /* StartTag[ATTRIBUTE[STRING](Target)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertyType->Target.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gSignaturePropertyType->Target.characters, v2gSignaturePropertyType->Target.charactersLen); - } - } - grammarID = 34; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 34: - /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 35: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 36: - /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 36; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2013:MsgBody":SelectedServiceList)', derivedBy='EXTENSION'. */ -static int encode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType) { - int grammarID = 37; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 37: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, v2gPaymentServiceSelectionReqType->SelectedPaymentOption); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 38; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 38: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gSelectedServiceListType(stream, &v2gPaymentServiceSelectionReqType->SelectedServiceList ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v2gSPKIDataType) { - int grammarID = 39; - int done = 0; - - unsigned int v2gSPKIDataType_SPKISexp_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 39: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ - if (v2gSPKIDataType_SPKISexp_currArrayIndex < v2gSPKIDataType->SPKISexp.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytes, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - v2gSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 40: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ - if (v2gSPKIDataType_SPKISexp_currArrayIndex < v2gSPKIDataType->SPKISexp.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytes, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - v2gSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 41; + grammarID = 2; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 2); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 41: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ - if (v2gSPKIDataType_SPKISexp_currArrayIndex < v2gSPKIDataType->SPKISexp.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytes, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen); - v2gSPKIDataType_SPKISexp_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 40; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,NotificationType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":FaultCode,"urn:iso:15118:2:2013:MsgDataTypes":FaultMsg{0-1})', derivedBy='RESTRICTION'. */ -static int encode_v2gNotificationType(bitstream_t* stream, struct v2gNotificationType* v2gNotificationType) { - int grammarID = 42; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 42: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gNotificationType->FaultCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 43; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultMsg), END_ELEMENT] */ - if ( v2gNotificationType->FaultMsg_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gNotificationType->FaultMsg.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gNotificationType->FaultMsg.characters, v2gNotificationType->FaultMsg.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -1271,510 +612,17 @@ static int encode_v2gNotificationType(bitstream_t* stream, struct v2gNotificatio 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 encode_v2gObjectType(bitstream_t* stream, struct v2gObjectType* v2gObjectType) { - int grammarID = 44; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 44: - /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( v2gObjectType->Encoding_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->Encoding.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gObjectType->Encoding.characters, v2gObjectType->Encoding.charactersLen); - } - } - grammarID = 45; - } else if ( v2gObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gObjectType->Id.characters, v2gObjectType->Id.charactersLen); - } - } - grammarID = 46; - } else if ( v2gObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gObjectType->MimeType.characters, v2gObjectType->MimeType.charactersLen); - } - } - grammarID = 47; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 45: - /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( v2gObjectType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gObjectType->Id.characters, v2gObjectType->Id.charactersLen); - } - } - grammarID = 46; - } else if ( v2gObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gObjectType->MimeType.characters, v2gObjectType->MimeType.charactersLen); - } - } - grammarID = 47; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 46: - /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( v2gObjectType->MimeType_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->MimeType.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gObjectType->MimeType.characters, v2gObjectType->MimeType.charactersLen); - } - } - grammarID = 47; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 47: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 35: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gManifestType(bitstream_t* stream, struct v2gManifestType* v2gManifestType) { - int grammarID = 48; - int done = 0; - - unsigned int v2gManifestType_Reference_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 48: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if ( v2gManifestType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gManifestType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gManifestType->Id.characters, v2gManifestType->Id.charactersLen); - } - } - grammarID = 49; - } else if (v2gManifestType_Reference_currArrayIndex < v2gManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gReferenceType(stream, &v2gManifestType->Reference.array [v2gManifestType_Reference_currArrayIndex++]); - } - grammarID = 50; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 49: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ - if (v2gManifestType_Reference_currArrayIndex < v2gManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gReferenceType(stream, &v2gManifestType->Reference.array [v2gManifestType_Reference_currArrayIndex++]); - } - grammarID = 50; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 50: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ - if (v2gManifestType_Reference_currArrayIndex < v2gManifestType->Reference.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gReferenceType(stream, &v2gManifestType->Reference.array [v2gManifestType_Reference_currArrayIndex++]); - } - grammarID = 50; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2013:MsgDataTypes":Parameter{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_v2gParameterSetType(bitstream_t* stream, struct v2gParameterSetType* v2gParameterSetType) { - int grammarID = 51; - int done = 0; - - unsigned int v2gParameterSetType_Parameter_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 51: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, v2gParameterSetType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 52; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 52: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter)] */ - if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 53; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), END_ELEMENT] */ - if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); - } - grammarID = 53; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentServiceSelectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int encode_v2gPaymentServiceSelectionResType(bitstream_t* stream, struct v2gPaymentServiceSelectionResType* v2gPaymentServiceSelectionResType) { - int grammarID = 54; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 54: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gPaymentServiceSelectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,RelativeTimeIntervalType', base type name='IntervalType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":start,"urn:iso:15118:2:2013:MsgDataTypes":duration{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType) { - int grammarID = 55; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 55: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, v2gRelativeTimeIntervalType->start); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 56; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 56: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration), END_ELEMENT] */ - if ( v2gRelativeTimeIntervalType->duration_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, v2gRelativeTimeIntervalType->duration); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='privateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType) { - int grammarID = 57; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 57: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gContractSignatureEncryptedPrivateKeyType->Id.characters, v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen); - } - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytes, v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate{1-4})', derivedBy='RESTRICTION'. */ +/* 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 encode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCertificatesType* v2gSubCertificatesType) { - int grammarID = 59; + int grammarID = 16; int done = 0; unsigned int v2gSubCertificatesType_Certificate_currArrayIndex = 0; while(!done) { switch(grammarID) { - case 59: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ + case 16: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ if (v2gSubCertificatesType_Certificate_currArrayIndex < v2gSubCertificatesType->Certificate.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { @@ -1790,13 +638,13 @@ static int encode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCerti errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 60; + grammarID = 17; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 60: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ + case 17: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ if (v2gSubCertificatesType_Certificate_currArrayIndex < v2gSubCertificatesType->Certificate.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { @@ -1812,19 +660,19 @@ static int encode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCerti errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 61; + grammarID = 18; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 61: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ + case 18: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ if (v2gSubCertificatesType_Certificate_currArrayIndex < v2gSubCertificatesType->Certificate.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { @@ -1840,19 +688,19 @@ static int encode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCerti errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 62; + grammarID = 19; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 62: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), END_ELEMENT] */ + case 19: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ if (v2gSubCertificatesType_Certificate_currArrayIndex < v2gSubCertificatesType->Certificate.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { @@ -1868,25 +716,25 @@ static int encode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCerti errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 5; + grammarID = 2; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 5: + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -1902,3039 +750,16 @@ static int encode_v2gSubCertificatesType(bitstream_t* stream, struct v2gSubCerti return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PaymentOptionListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":PaymentOption{1-2})', derivedBy='RESTRICTION'. */ -static int encode_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymentOptionListType* v2gPaymentOptionListType) { - int grammarID = 63; - int done = 0; - - unsigned int v2gPaymentOptionListType_PaymentOption_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 63: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption)] */ - if (v2gPaymentOptionListType_PaymentOption_currArrayIndex < v2gPaymentOptionListType->PaymentOption.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, v2gPaymentOptionListType->PaymentOption.array[v2gPaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 64; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 64: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption), END_ELEMENT] */ - if (v2gPaymentOptionListType_PaymentOption_currArrayIndex < v2gPaymentOptionListType->PaymentOption.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, v2gPaymentOptionListType->PaymentOption.array[v2gPaymentOptionListType_PaymentOption_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":EPriceLevel{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ConsumptionCost{0-3}))', derivedBy='EXTENSION'. */ -static int encode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTariffEntryType* v2gSalesTariffEntryType) { - int grammarID = 65; - int done = 0; - - unsigned int v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 65: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - if ( v2gSalesTariffEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gRelativeTimeIntervalType(stream, &v2gSalesTariffEntryType->RelativeTimeInterval ); - } - grammarID = 66; - } else if ( v2gSalesTariffEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gIntervalType(stream, &v2gSalesTariffEntryType->TimeInterval ); - } - grammarID = 66; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if ( v2gSalesTariffEntryType->EPriceLevel_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSalesTariffEntryType->EPriceLevel - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 67; - } else if (v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex < v2gSalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array [v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 68; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 67: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex < v2gSalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array [v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 68; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex < v2gSalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array [v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 69; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ - if (v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex < v2gSalesTariffEntryType->ConsumptionCost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array [v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SupportedEnergyTransferModeType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EnergyTransferMode{1-6})', derivedBy='RESTRICTION'. */ -static int encode_v2gSupportedEnergyTransferModeType(bitstream_t* stream, struct v2gSupportedEnergyTransferModeType* v2gSupportedEnergyTransferModeType) { - int grammarID = 70; - int done = 0; - - unsigned int v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 70: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode)] */ - if (v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 71; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 72; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 73; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 74; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 74: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 75; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), END_ELEMENT] */ - if (v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex < v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gSupportedEnergyTransferModeType->EnergyTransferMode.array[v2gSupportedEnergyTransferModeType_EnergyTransferMode_currArrayIndex++]); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ParameterSetID{0-1})', derivedBy='RESTRICTION'. */ -static int encode_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelectedServiceType* v2gSelectedServiceType) { - int grammarID = 76; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 76: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, v2gSelectedServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 77; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID), END_ELEMENT] */ - if ( v2gSelectedServiceType->ParameterSetID_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, v2gSelectedServiceType->ParameterSetID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEPresentVoltage)', derivedBy='EXTENSION'. */ -static int encode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeldingDetectionResType* v2gWeldingDetectionResType) { - int grammarID = 23; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 23: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gWeldingDetectionResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 24; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 24: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVSEStatusType(stream, &v2gWeldingDetectionResType->DC_EVSEStatus ); - } - grammarID = 25; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 25: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gWeldingDetectionResType->EVSEPresentVoltage ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ChargeProgress,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":ChargingProfile{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVPowerDeliveryParameter{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType) { - int grammarID = 78; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 78: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gPowerDeliveryReqType->ChargeProgress); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 79; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 79: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gPowerDeliveryReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 80; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 80: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( v2gPowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gChargingProfileType(stream, &v2gPowerDeliveryReqType->ChargingProfile ); - } - grammarID = 81; - } else if ( v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_v2gDC_EVPowerDeliveryParameterType(stream, &v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 5; - } else if ( v2gPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_v2gEVPowerDeliveryParameterType(stream, &v2gPowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), END_ELEMENT] */ - if ( v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gDC_EVPowerDeliveryParameterType(stream, &v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter ); - } - grammarID = 5; - } else if ( v2gPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gEVPowerDeliveryParameterType(stream, &v2gPowerDeliveryReqType->EVPowerDeliveryParameter ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":startValue,"urn:iso:15118:2:2013:MsgDataTypes":Cost{1-3})', derivedBy='RESTRICTION'. */ -static int encode_v2gConsumptionCostType(bitstream_t* stream, struct v2gConsumptionCostType* v2gConsumptionCostType) { - int grammarID = 82; - int done = 0; - - unsigned int v2gConsumptionCostType_Cost_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 82: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gConsumptionCostType->startValue ); - } - grammarID = 83; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost)] */ - if (v2gConsumptionCostType_Cost_currArrayIndex < v2gConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array [v2gConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 84; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - if (v2gConsumptionCostType_Cost_currArrayIndex < v2gConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array [v2gConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 85; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), END_ELEMENT] */ - if (v2gConsumptionCostType_Cost_currArrayIndex < v2gConsumptionCostType->Cost.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array [v2gConsumptionCostType_Cost_currArrayIndex++]); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":DC_EVStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyCapacity{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVEnergyRequest{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FullSOC{0-1},"urn:iso:15118:2:2013:MsgDataTypes":BulkSOC{0-1}))', derivedBy='EXTENSION'. */ -static int encode_v2gDC_EVChargeParameterType(bitstream_t* stream, struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType) { - int grammarID = 86; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 86: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - if ( v2gDC_EVChargeParameterType->DepartureTime_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, v2gDC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 87; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gDC_EVStatusType(stream, &v2gDC_EVChargeParameterType->DC_EVStatus ); - } - grammarID = 88; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVStatusType(stream, &v2gDC_EVChargeParameterType->DC_EVStatus ); - } - grammarID = 88; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 88: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumCurrentLimit ); - } - grammarID = 89; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( v2gDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumPowerLimit ); - } - grammarID = 90; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 91; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 90: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumVoltageLimit ); - } - grammarID = 91; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 91: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( v2gDC_EVChargeParameterType->EVEnergyCapacity_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVEnergyCapacity ); - } - grammarID = 92; - } else if ( v2gDC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 93; - } else if ( v2gDC_EVChargeParameterType->FullSOC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 94; - } else if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 92: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( v2gDC_EVChargeParameterType->EVEnergyRequest_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVEnergyRequest ); - } - grammarID = 93; - } else if ( v2gDC_EVChargeParameterType->FullSOC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 94; - } else if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( v2gDC_EVChargeParameterType->FullSOC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 94; - } else if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 94: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), END_ELEMENT] */ - if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_v2gChargingProfileType(bitstream_t* stream, struct v2gChargingProfileType* v2gChargingProfileType) { - int grammarID = 95; - int done = 0; - - unsigned int v2gChargingProfileType_ProfileEntry_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 95: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry)] */ - if (v2gChargingProfileType_ProfileEntry_currArrayIndex < v2gChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gProfileEntryType(stream, &v2gChargingProfileType->ProfileEntry.array [v2gChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 96; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 96: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), END_ELEMENT] */ - if (v2gChargingProfileType_ProfileEntry_currArrayIndex < v2gChargingProfileType->ProfileEntry.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gProfileEntryType(stream, &v2gChargingProfileType->ProfileEntry.array [v2gChargingProfileType_ProfileEntry_currArrayIndex++]); - } - grammarID = 96; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":SessionID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ -static int encode_v2gMeteringReceiptReqType(bitstream_t* stream, struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType) { - int grammarID = 97; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 97: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID)] */ - if ( v2gMeteringReceiptReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMeteringReceiptReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gMeteringReceiptReqType->Id.characters, v2gMeteringReceiptReqType->Id.charactersLen); - } - } - grammarID = 98; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gMeteringReceiptReqType->SessionID.bytes, v2gMeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 99; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 98: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMeteringReceiptReqType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gMeteringReceiptReqType->SessionID.bytes, v2gMeteringReceiptReqType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 99; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo)] */ - if ( v2gMeteringReceiptReqType->SAScheduleTupleID_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gMeteringReceiptReqType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 100; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gMeterInfoType(stream, &v2gMeteringReceiptReqType->MeterInfo ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gMeterInfoType(stream, &v2gMeteringReceiptReqType->MeterInfo ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":MaxEntriesSAScheduleTuple{0-1},"urn:iso:15118:2:2013:MsgBody":RequestedEnergyTransferMode,"urn:iso:15118:2:2013:MsgDataTypes":EVChargeParameter)', derivedBy='EXTENSION'. */ -static int encode_v2gChargeParameterDiscoveryReqType(bitstream_t* stream, struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType) { - int grammarID = 101; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 101: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode)] */ - if ( v2gChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, v2gChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 102; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gChargeParameterDiscoveryReqType->RequestedEnergyTransferMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 103; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gChargeParameterDiscoveryReqType->RequestedEnergyTransferMode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 103; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 103: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter)] */ - if ( v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gAC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter ); - } - grammarID = 5; - } else if ( v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gDC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter ); - } - grammarID = 5; - } else if ( v2gChargeParameterDiscoveryReqType->EVChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_v2gEVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->EVChargeParameter ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":BodyElement{0-1})', derivedBy='RESTRICTION'. */ -static int encode_v2gBodyType(bitstream_t* stream, struct v2gBodyType* v2gBodyType) { - int grammarID = 104; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 104: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes), END_ELEMENT] */ - if ( v2gBodyType->AuthorizationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 0); - if(errn == 0) { - errn = encode_v2gAuthorizationReqType(stream, &v2gBodyType->AuthorizationReq ); - } - grammarID = 5; - } else if ( v2gBodyType->AuthorizationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 1); - if(errn == 0) { - errn = encode_v2gAuthorizationResType(stream, &v2gBodyType->AuthorizationRes ); - } - grammarID = 5; - } else if ( v2gBodyType->BodyElement_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 2); - if(errn == 0) { - errn = encode_v2gBodyBaseType(stream, &v2gBodyType->BodyElement ); - } - grammarID = 5; - } else if ( v2gBodyType->CableCheckReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 3); - if(errn == 0) { - errn = encode_v2gCableCheckReqType(stream, &v2gBodyType->CableCheckReq ); - } - grammarID = 5; - } else if ( v2gBodyType->CableCheckRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 4); - if(errn == 0) { - errn = encode_v2gCableCheckResType(stream, &v2gBodyType->CableCheckRes ); - } - grammarID = 5; - } else if ( v2gBodyType->CertificateInstallationReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 5); - if(errn == 0) { - errn = encode_v2gCertificateInstallationReqType(stream, &v2gBodyType->CertificateInstallationReq ); - } - grammarID = 5; - } else if ( v2gBodyType->CertificateInstallationRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 6); - if(errn == 0) { - errn = encode_v2gCertificateInstallationResType(stream, &v2gBodyType->CertificateInstallationRes ); - } - grammarID = 5; - } else if ( v2gBodyType->CertificateUpdateReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 7); - if(errn == 0) { - errn = encode_v2gCertificateUpdateReqType(stream, &v2gBodyType->CertificateUpdateReq ); - } - grammarID = 5; - } else if ( v2gBodyType->CertificateUpdateRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 8); - if(errn == 0) { - errn = encode_v2gCertificateUpdateResType(stream, &v2gBodyType->CertificateUpdateRes ); - } - grammarID = 5; - } else if ( v2gBodyType->ChargeParameterDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 9); - if(errn == 0) { - errn = encode_v2gChargeParameterDiscoveryReqType(stream, &v2gBodyType->ChargeParameterDiscoveryReq ); - } - grammarID = 5; - } else if ( v2gBodyType->ChargeParameterDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 10); - if(errn == 0) { - errn = encode_v2gChargeParameterDiscoveryResType(stream, &v2gBodyType->ChargeParameterDiscoveryRes ); - } - grammarID = 5; - } else if ( v2gBodyType->ChargingStatusReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 11); - if(errn == 0) { - errn = encode_v2gChargingStatusReqType(stream, &v2gBodyType->ChargingStatusReq ); - } - grammarID = 5; - } else if ( v2gBodyType->ChargingStatusRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 12); - if(errn == 0) { - errn = encode_v2gChargingStatusResType(stream, &v2gBodyType->ChargingStatusRes ); - } - grammarID = 5; - } else if ( v2gBodyType->CurrentDemandReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 13); - if(errn == 0) { - errn = encode_v2gCurrentDemandReqType(stream, &v2gBodyType->CurrentDemandReq ); - } - grammarID = 5; - } else if ( v2gBodyType->CurrentDemandRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 14); - if(errn == 0) { - errn = encode_v2gCurrentDemandResType(stream, &v2gBodyType->CurrentDemandRes ); - } - grammarID = 5; - } else if ( v2gBodyType->MeteringReceiptReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 15); - if(errn == 0) { - errn = encode_v2gMeteringReceiptReqType(stream, &v2gBodyType->MeteringReceiptReq ); - } - grammarID = 5; - } else if ( v2gBodyType->MeteringReceiptRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 16); - if(errn == 0) { - errn = encode_v2gMeteringReceiptResType(stream, &v2gBodyType->MeteringReceiptRes ); - } - grammarID = 5; - } else if ( v2gBodyType->PaymentDetailsReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 17); - if(errn == 0) { - errn = encode_v2gPaymentDetailsReqType(stream, &v2gBodyType->PaymentDetailsReq ); - } - grammarID = 5; - } else if ( v2gBodyType->PaymentDetailsRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 18); - if(errn == 0) { - errn = encode_v2gPaymentDetailsResType(stream, &v2gBodyType->PaymentDetailsRes ); - } - grammarID = 5; - } else if ( v2gBodyType->PaymentServiceSelectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 19); - if(errn == 0) { - errn = encode_v2gPaymentServiceSelectionReqType(stream, &v2gBodyType->PaymentServiceSelectionReq ); - } - grammarID = 5; - } else if ( v2gBodyType->PaymentServiceSelectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 20); - if(errn == 0) { - errn = encode_v2gPaymentServiceSelectionResType(stream, &v2gBodyType->PaymentServiceSelectionRes ); - } - grammarID = 5; - } else if ( v2gBodyType->PowerDeliveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 21); - if(errn == 0) { - errn = encode_v2gPowerDeliveryReqType(stream, &v2gBodyType->PowerDeliveryReq ); - } - grammarID = 5; - } else if ( v2gBodyType->PowerDeliveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 22); - if(errn == 0) { - errn = encode_v2gPowerDeliveryResType(stream, &v2gBodyType->PowerDeliveryRes ); - } - grammarID = 5; - } else if ( v2gBodyType->PreChargeReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 23); - if(errn == 0) { - errn = encode_v2gPreChargeReqType(stream, &v2gBodyType->PreChargeReq ); - } - grammarID = 5; - } else if ( v2gBodyType->PreChargeRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 24); - if(errn == 0) { - errn = encode_v2gPreChargeResType(stream, &v2gBodyType->PreChargeRes ); - } - grammarID = 5; - } else if ( v2gBodyType->ServiceDetailReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 25); - if(errn == 0) { - errn = encode_v2gServiceDetailReqType(stream, &v2gBodyType->ServiceDetailReq ); - } - grammarID = 5; - } else if ( v2gBodyType->ServiceDetailRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 26); - if(errn == 0) { - errn = encode_v2gServiceDetailResType(stream, &v2gBodyType->ServiceDetailRes ); - } - grammarID = 5; - } else if ( v2gBodyType->ServiceDiscoveryReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 27); - if(errn == 0) { - errn = encode_v2gServiceDiscoveryReqType(stream, &v2gBodyType->ServiceDiscoveryReq ); - } - grammarID = 5; - } else if ( v2gBodyType->ServiceDiscoveryRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 28); - if(errn == 0) { - errn = encode_v2gServiceDiscoveryResType(stream, &v2gBodyType->ServiceDiscoveryRes ); - } - grammarID = 5; - } else if ( v2gBodyType->SessionSetupReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 29); - if(errn == 0) { - errn = encode_v2gSessionSetupReqType(stream, &v2gBodyType->SessionSetupReq ); - } - grammarID = 5; - } else if ( v2gBodyType->SessionSetupRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 30); - if(errn == 0) { - errn = encode_v2gSessionSetupResType(stream, &v2gBodyType->SessionSetupRes ); - } - grammarID = 5; - } else if ( v2gBodyType->SessionStopReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 31); - if(errn == 0) { - errn = encode_v2gSessionStopReqType(stream, &v2gBodyType->SessionStopReq ); - } - grammarID = 5; - } else if ( v2gBodyType->SessionStopRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 32); - if(errn == 0) { - errn = encode_v2gSessionStopResType(stream, &v2gBodyType->SessionStopRes ); - } - grammarID = 5; - } else if ( v2gBodyType->WeldingDetectionReq_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 33); - if(errn == 0) { - errn = encode_v2gWeldingDetectionReqType(stream, &v2gBodyType->WeldingDetectionReq ); - } - grammarID = 5; - } else if ( v2gBodyType->WeldingDetectionRes_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 6, 34); - if(errn == 0) { - errn = encode_v2gWeldingDetectionResType(stream, &v2gBodyType->WeldingDetectionRes ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 6, 35); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gTransformsType(bitstream_t* stream, struct v2gTransformsType* v2gTransformsType) { - int grammarID = 105; - int done = 0; - - unsigned int v2gTransformsType_Transform_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 105: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ - if (v2gTransformsType_Transform_currArrayIndex < v2gTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gTransformType(stream, &v2gTransformsType->Transform.array [v2gTransformsType_Transform_currArrayIndex++]); - } - grammarID = 106; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 106: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ - if (v2gTransformsType_Transform_currArrayIndex < v2gTransformsType->Transform.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gTransformType(stream, &v2gTransformsType->Transform.array [v2gTransformsType_Transform_currArrayIndex++]); - } - grammarID = 106; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgBody":ServiceCategory{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gServiceDiscoveryReqType(bitstream_t* stream, struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType) { - int grammarID = 107; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 107: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( v2gServiceDiscoveryReqType->ServiceScope_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gServiceDiscoveryReqType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gServiceDiscoveryReqType->ServiceScope.characters, v2gServiceDiscoveryReqType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 108; - } else if ( v2gServiceDiscoveryReqType->ServiceCategory_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 108: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), END_ELEMENT] */ - if ( v2gServiceDiscoveryReqType->ServiceCategory_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gServiceDiscoveryReqType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification)', derivedBy='RESTRICTION'. */ -static int encode_v2gEVSEStatusType(bitstream_t* stream, struct v2gEVSEStatusType* v2gEVSEStatusType) { - int grammarID = 109; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 109: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, v2gEVSEStatusType->NotificationMaxDelay); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 110; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gEVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ProfileEntryType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryStart,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxPower,"urn:iso:15118:2:2013:MsgDataTypes":ChargingProfileEntryMaxNumberOfPhasesInUse{0-1})', derivedBy='RESTRICTION'. */ -static int encode_v2gProfileEntryType(bitstream_t* stream, struct v2gProfileEntryType* v2gProfileEntryType) { - int grammarID = 111; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 111: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryStart)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, v2gProfileEntryType->ChargingProfileEntryStart); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 112; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gProfileEntryType->ChargingProfileEntryMaxPower ); - } - grammarID = 113; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse), END_ELEMENT] */ - if ( v2gProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, (uint32_t)(v2gProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gKeyInfoType(bitstream_t* stream, struct v2gKeyInfoType* v2gKeyInfoType) { - int grammarID = 114; - int done = 0; - - unsigned int v2gKeyInfoType_KeyName_currArrayIndex = 0; - unsigned int v2gKeyInfoType_KeyValue_currArrayIndex = 0; - unsigned int v2gKeyInfoType_RetrievalMethod_currArrayIndex = 0; - unsigned int v2gKeyInfoType_X509Data_currArrayIndex = 0; - unsigned int v2gKeyInfoType_PGPData_currArrayIndex = 0; - unsigned int v2gKeyInfoType_SPKIData_currArrayIndex = 0; - unsigned int v2gKeyInfoType_MgmtData_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 114: - /* 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]] */ - if ( v2gKeyInfoType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gKeyInfoType->Id.characters, v2gKeyInfoType->Id.charactersLen); - } - } - grammarID = 115; - } else if (v2gKeyInfoType_KeyName_currArrayIndex < v2gKeyInfoType->KeyName.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].characters, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen); - v2gKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (v2gKeyInfoType_KeyValue_currArrayIndex < v2gKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array [v2gKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_RetrievalMethod_currArrayIndex < v2gKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array [v2gKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_X509Data_currArrayIndex < v2gKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array [v2gKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_PGPData_currArrayIndex < v2gKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array [v2gKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_SPKIData_currArrayIndex < v2gKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - errn = encode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array [v2gKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_MgmtData_currArrayIndex < v2gKeyInfoType->MgmtData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 7); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].characters, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen); - v2gKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 117; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 115: - /* 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]] */ - if (v2gKeyInfoType_KeyName_currArrayIndex < v2gKeyInfoType->KeyName.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].characters, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen); - v2gKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (v2gKeyInfoType_KeyValue_currArrayIndex < v2gKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array [v2gKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_RetrievalMethod_currArrayIndex < v2gKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array [v2gKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_X509Data_currArrayIndex < v2gKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array [v2gKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_PGPData_currArrayIndex < v2gKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array [v2gKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_SPKIData_currArrayIndex < v2gKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array [v2gKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_MgmtData_currArrayIndex < v2gKeyInfoType->MgmtData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].characters, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen); - v2gKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 117; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 116: - /* 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]] */ - if (v2gKeyInfoType_KeyName_currArrayIndex < v2gKeyInfoType->KeyName.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].characters, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen); - v2gKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (v2gKeyInfoType_KeyValue_currArrayIndex < v2gKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array [v2gKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_RetrievalMethod_currArrayIndex < v2gKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array [v2gKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_X509Data_currArrayIndex < v2gKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array [v2gKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_PGPData_currArrayIndex < v2gKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array [v2gKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_SPKIData_currArrayIndex < v2gKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array [v2gKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_MgmtData_currArrayIndex < v2gKeyInfoType->MgmtData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].characters, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen); - v2gKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 4, 8); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 117: - /* 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]] */ - if (v2gKeyInfoType_KeyName_currArrayIndex < v2gKeyInfoType->KeyName.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].characters, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen); - v2gKeyInfoType_KeyName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (v2gKeyInfoType_KeyValue_currArrayIndex < v2gKeyInfoType->KeyValue.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 1); - if(errn == 0) { - errn = encode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array [v2gKeyInfoType_KeyValue_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_RetrievalMethod_currArrayIndex < v2gKeyInfoType->RetrievalMethod.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 2); - if(errn == 0) { - errn = encode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array [v2gKeyInfoType_RetrievalMethod_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_X509Data_currArrayIndex < v2gKeyInfoType->X509Data.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 3); - if(errn == 0) { - errn = encode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array [v2gKeyInfoType_X509Data_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_PGPData_currArrayIndex < v2gKeyInfoType->PGPData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 4); - if(errn == 0) { - errn = encode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array [v2gKeyInfoType_PGPData_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_SPKIData_currArrayIndex < v2gKeyInfoType->SPKIData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 5); - if(errn == 0) { - errn = encode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array [v2gKeyInfoType_SPKIData_currArrayIndex++]); - } - grammarID = 116; - } else if (v2gKeyInfoType_MgmtData_currArrayIndex < v2gKeyInfoType->MgmtData.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 4, 6); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].characters, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen); - v2gKeyInfoType_MgmtData_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 116; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 117; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgHeader":SessionID,"urn:iso:15118:2:2013:MsgHeader":Notification{0-1},"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ -static int encode_v2gMessageHeaderType(bitstream_t* stream, struct v2gMessageHeaderType* v2gMessageHeaderType) { - int grammarID = 118; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 118: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMessageHeaderType->SessionID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gMessageHeaderType->SessionID.bytes, v2gMessageHeaderType->SessionID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 119; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 119: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}Notification), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( v2gMessageHeaderType->Notification_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gNotificationType(stream, &v2gMessageHeaderType->Notification ); - } - grammarID = 120; - } else if ( v2gMessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gSignatureType(stream, &v2gMessageHeaderType->Signature ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 120: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ - if ( v2gMessageHeaderType->Signature_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gSignatureType(stream, &v2gMessageHeaderType->Signature ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ -static int encode_v2gServiceDetailReqType(bitstream_t* stream, struct v2gServiceDetailReqType* v2gServiceDetailReqType) { - int grammarID = 121; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 121: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, v2gServiceDetailReqType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":AC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaxCurrent)', derivedBy='EXTENSION'. */ -static int encode_v2gAC_EVSEChargeParameterType(bitstream_t* stream, struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType) { - int grammarID = 122; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 122: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gAC_EVSEStatusType(stream, &v2gAC_EVSEChargeParameterType->AC_EVSEStatus ); - } - grammarID = 123; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 123: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSENominalVoltage ); - } - grammarID = 124; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 124: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSEMaxCurrent ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -static int encode_v2gCertificateUpdateReqType(bitstream_t* stream, struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType) { - int grammarID = 125; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 125: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateUpdateReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gCertificateUpdateReqType->Id.characters, v2gCertificateUpdateReqType->Id.charactersLen); - } - } - grammarID = 126; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 126: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gCertificateChainType(stream, &v2gCertificateUpdateReqType->ContractSignatureCertChain ); - } - grammarID = 127; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 127: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateUpdateReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gCertificateUpdateReqType->eMAID.characters, v2gCertificateUpdateReqType->eMAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 128; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gListOfRootCertificateIDsType(stream, &v2gCertificateUpdateReqType->ListOfRootCertificateIDs ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Multiplier,"urn:iso:15118:2:2013:MsgDataTypes":Unit,"urn:iso:15118:2:2013:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ -static int encode_v2gPhysicalValueType(bitstream_t* stream, struct v2gPhysicalValueType* v2gPhysicalValueType) { - int grammarID = 129; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 129: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Multiplier)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(v2gPhysicalValueType->Multiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 130; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 130: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Unit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gPhysicalValueType->Unit); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 131; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 131: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Value)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, v2gPhysicalValueType->Value); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gX509IssuerSerialType(bitstream_t* stream, struct v2gX509IssuerSerialType* v2gX509IssuerSerialType) { - int grammarID = 132; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 132: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509IssuerSerialType->X509IssuerName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gX509IssuerSerialType->X509IssuerName.characters, v2gX509IssuerSerialType->X509IssuerName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 133; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 133: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, v2gX509IssuerSerialType->X509SerialNumber); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":RootCertificateID{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_v2gListOfRootCertificateIDsType(bitstream_t* stream, struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType) { - int grammarID = 134; - int done = 0; - - unsigned int v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 134: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID)] */ - if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 135; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 135: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID), END_ELEMENT] */ - if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); - } - grammarID = 135; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":PaymentOptionList,"urn:iso:15118:2:2013:MsgBody":ChargeService,"urn:iso:15118:2:2013:MsgBody":ServiceList{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gServiceDiscoveryResType(bitstream_t* stream, struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType) { - int grammarID = 136; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 136: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gServiceDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 137; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 137: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPaymentOptionListType(stream, &v2gServiceDiscoveryResType->PaymentOptionList ); - } - grammarID = 138; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gChargeServiceType(stream, &v2gServiceDiscoveryResType->ChargeService ); - } - grammarID = 139; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList), END_ELEMENT] */ - if ( v2gServiceDiscoveryResType->ServiceList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gServiceListType(stream, &v2gServiceDiscoveryResType->ServiceList ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ -static int encode_v2gPaymentDetailsReqType(bitstream_t* stream, struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType) { - int grammarID = 140; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 140: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPaymentDetailsReqType->eMAID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gPaymentDetailsReqType->eMAID.characters, v2gPaymentDetailsReqType->eMAID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 141; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 141: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gCertificateChainType(stream, &v2gPaymentDetailsReqType->ContractSignatureCertChain ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval),("urn:iso:15118:2:2013:MsgDataTypes":PMax))', derivedBy='EXTENSION'. */ -static int encode_v2gPMaxScheduleEntryType(bitstream_t* stream, struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType) { - int grammarID = 142; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 142: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - if ( v2gPMaxScheduleEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gRelativeTimeIntervalType(stream, &v2gPMaxScheduleEntryType->RelativeTimeInterval ); - } - grammarID = 143; - } else if ( v2gPMaxScheduleEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gIntervalType(stream, &v2gPMaxScheduleEntryType->TimeInterval ); - } - grammarID = 143; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 143: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gPMaxScheduleEntryType->PMax ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateUpdateResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID,"urn:iso:15118:2:2013:MsgBody":RetryCounter{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCertificateUpdateResType* v2gCertificateUpdateResType) { - int grammarID = 144; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 144: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gCertificateUpdateResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 145; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 145: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->SAProvisioningCertificateChain ); - } - grammarID = 146; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->ContractSignatureCertChain ); - } - grammarID = 147; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 147: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gContractSignatureEncryptedPrivateKeyType(stream, &v2gCertificateUpdateResType->ContractSignatureEncryptedPrivateKey ); - } - grammarID = 148; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 148: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDiffieHellmanPublickeyType(stream, &v2gCertificateUpdateResType->DHpublickey ); - } - grammarID = 149; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 149: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gEMAIDType(stream, &v2gCertificateUpdateResType->eMAID ); - } - grammarID = 150; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 150: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter), END_ELEMENT] */ - if ( v2gCertificateUpdateResType->RetryCounter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, v2gCertificateUpdateResType->RetryCounter); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2013:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2013:MsgBody":DHpublickey,"urn:iso:15118:2:2013:MsgBody":eMAID)', derivedBy='EXTENSION'. */ +/* 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 encode_v2gCertificateInstallationResType(bitstream_t* stream, struct v2gCertificateInstallationResType* v2gCertificateInstallationResType) { - int grammarID = 151; + int grammarID = 20; int done = 0; while(!done) { switch(grammarID) { - case 151: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 20: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { @@ -4946,79 +771,97 @@ static int encode_v2gCertificateInstallationResType(bitstream_t* stream, struct errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 152; + grammarID = 21; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 152: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain)] */ + case 21: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ + if ( v2gCertificateInstallationResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gCertificateInstallationResType->EVSEStatus ); + } + grammarID = 22; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gCertificateChainType(stream, &v2gCertificateInstallationResType->SAProvisioningCertificateChain ); + } + grammarID = 23; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 22: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gCertificateChainType(stream, &v2gCertificateInstallationResType->SAProvisioningCertificateChain ); } - grammarID = 153; + grammarID = 23; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain)] */ + case 23: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gCertificateChainType(stream, &v2gCertificateInstallationResType->ContractSignatureCertChain ); } - grammarID = 154; + grammarID = 24; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 154: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey)] */ + case 24: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gContractSignatureEncryptedPrivateKeyType(stream, &v2gCertificateInstallationResType->ContractSignatureEncryptedPrivateKey ); } - grammarID = 155; + grammarID = 25; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey)] */ + case 25: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gDiffieHellmanPublickeyType(stream, &v2gCertificateInstallationResType->DHpublickey ); } - grammarID = 156; + grammarID = 26; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID)] */ + case 26: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gEMAIDType(stream, &v2gCertificateInstallationResType->eMAID ); } - grammarID = 5; + grammarID = 2; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 5: + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -5034,2415 +877,16 @@ static int encode_v2gCertificateInstallationResType(bitstream_t* stream, struct return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int encode_v2gCableCheckReqType(bitstream_t* stream, struct v2gCableCheckReqType* v2gCableCheckReqType) { - int grammarID = 157; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 157: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVStatusType(stream, &v2gCableCheckReqType->DC_EVStatus ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2gPGPDataType) { - int grammarID = 158; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 158: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ - if ( v2gPGPDataType->PGPKeyID_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPGPDataType->PGPKeyID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gPGPDataType->PGPKeyID.bytes, v2gPGPDataType->PGPKeyID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 159; - } else if ( v2gPGPDataType->PGPKeyPacket_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gPGPDataType->PGPKeyPacket.bytes, v2gPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 160; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 159: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ - if ( v2gPGPDataType->PGPKeyPacket_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPGPDataType->PGPKeyPacket.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gPGPDataType->PGPKeyPacket.bytes, v2gPGPDataType->PGPKeyPacket.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 160; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 160; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 160: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 160; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ParameterSet{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_v2gServiceParameterListType(bitstream_t* stream, struct v2gServiceParameterListType* v2gServiceParameterListType) { - int grammarID = 161; - int done = 0; - - unsigned int v2gServiceParameterListType_ParameterSet_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 161: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet)] */ - if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 162; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 162: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet), END_ELEMENT] */ - if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); - } - grammarID = 162; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ChargingSession)', derivedBy='EXTENSION'. */ -static int encode_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionStopReqType* v2gSessionStopReqType) { - int grammarID = 163; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 163: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingSession)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 1, v2gSessionStopReqType->ChargingSession); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SASchedulesType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_v2gSASchedulesType(bitstream_t* stream, struct v2gSASchedulesType* v2gSASchedulesType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus)', derivedBy='EXTENSION'. */ -static int encode_v2gWeldingDetectionReqType(bitstream_t* stream, struct v2gWeldingDetectionReqType* v2gWeldingDetectionReqType) { - int grammarID = 157; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 157: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVStatusType(stream, &v2gWeldingDetectionReqType->DC_EVStatus ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_v2gDiffieHellmanPublickeyType(bitstream_t* stream, struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType) { - int grammarID = 57; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 57: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDiffieHellmanPublickeyType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gDiffieHellmanPublickeyType->Id.characters, v2gDiffieHellmanPublickeyType->Id.charactersLen); - } - } - grammarID = 58; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDiffieHellmanPublickeyType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDiffieHellmanPublickeyType->CONTENT.bytes, v2gDiffieHellmanPublickeyType->CONTENT.bytesLen); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ -static int encode_v2gSessionSetupReqType(bitstream_t* stream, struct v2gSessionSetupReqType* v2gSessionSetupReqType) { - int grammarID = 164; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 164: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVCCID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSessionSetupReqType->EVCCID.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gSessionSetupReqType->EVCCID.bytes, v2gSessionSetupReqType->EVCCID.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CurrentDemandReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2013:MsgBody":EVMaximumVoltageLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumCurrentLimit{0-1},"urn:iso:15118:2:2013:MsgBody":EVMaximumPowerLimit{0-1},"urn:iso:15118:2:2013:MsgBody":BulkChargingComplete{0-1},"urn:iso:15118:2:2013:MsgBody":ChargingComplete,"urn:iso:15118:2:2013:MsgBody":RemainingTimeToFullSoC{0-1},"urn:iso:15118:2:2013:MsgBody":RemainingTimeToBulkSoC{0-1},"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage)', derivedBy='EXTENSION'. */ -static int encode_v2gCurrentDemandReqType(bitstream_t* stream, struct v2gCurrentDemandReqType* v2gCurrentDemandReqType) { - int grammarID = 165; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 165: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVStatusType(stream, &v2gCurrentDemandReqType->DC_EVStatus ); - } - grammarID = 166; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent ); - } - grammarID = 167; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 167: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - if ( v2gCurrentDemandReqType->EVMaximumVoltageLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumVoltageLimit ); - } - grammarID = 168; - } else if ( v2gCurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 169; - } else if ( v2gCurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 170; - } else if ( v2gCurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 171; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 172; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - if ( v2gCurrentDemandReqType->EVMaximumCurrentLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumCurrentLimit ); - } - grammarID = 169; - } else if ( v2gCurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 170; - } else if ( v2gCurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 171; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 172; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 169: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - if ( v2gCurrentDemandReqType->EVMaximumPowerLimit_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPowerLimit ); - } - grammarID = 170; - } else if ( v2gCurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 171; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 172; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 170: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - if ( v2gCurrentDemandReqType->BulkChargingComplete_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandReqType->BulkChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 171; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 172; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 171: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gCurrentDemandReqType->ChargingComplete); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 172; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 172: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( v2gCurrentDemandReqType->RemainingTimeToFullSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->RemainingTimeToFullSoC ); - } - grammarID = 173; - } else if ( v2gCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 174; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 173: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( v2gCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->RemainingTimeToBulkSoC ); - } - grammarID = 174; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 174: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetVoltage ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVStatusType', base type name='EVStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":EVReady,"urn:iso:15118:2:2013:MsgDataTypes":EVErrorCode,"urn:iso:15118:2:2013:MsgDataTypes":EVRESSSOC)', derivedBy='EXTENSION'. */ -static int encode_v2gDC_EVStatusType(bitstream_t* stream, struct v2gDC_EVStatusType* v2gDC_EVStatusType) { - int grammarID = 175; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 175: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVReady)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gDC_EVStatusType->EVReady); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 176; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 176: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, v2gDC_EVStatusType->EVErrorCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 177; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVRESSSOC)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVStatusType->EVRESSSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueType* v2gDSAKeyValueType) { - int grammarID = 178; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 178: - /* 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)] */ - if ( v2gDSAKeyValueType->P_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->P.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->P.bytes, v2gDSAKeyValueType->P.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 179; - } else if ( v2gDSAKeyValueType->G_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->G.bytes, v2gDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 180; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->Y.bytes, v2gDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 181; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 179: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ - if ( v2gDSAKeyValueType->Q_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Q.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->Q.bytes, v2gDSAKeyValueType->Q.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 182; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 182: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( v2gDSAKeyValueType->G_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->G.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->G.bytes, v2gDSAKeyValueType->G.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 180; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->Y.bytes, v2gDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 181; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 180: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Y.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->Y.bytes, v2gDSAKeyValueType->Y.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 181; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 181: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( v2gDSAKeyValueType->J_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->J.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->J.bytes, v2gDSAKeyValueType->J.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 183; - } else if ( v2gDSAKeyValueType->Seed_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->Seed.bytes, v2gDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 183: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ - if ( v2gDSAKeyValueType->Seed_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Seed.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->Seed.bytes, v2gDSAKeyValueType->Seed.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 184; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 184: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ - if ( v2gDSAKeyValueType->PgenCounter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->PgenCounter.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gDSAKeyValueType->PgenCounter.bytes, v2gDSAKeyValueType->PgenCounter.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgBody":EVSEMaxCurrent{0-1},"urn:iso:15118:2:2013:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2013:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2013:MsgBody":AC_EVSEStatus)', derivedBy='EXTENSION'. */ -static int encode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargingStatusResType* v2gChargingStatusResType) { - int grammarID = 185; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 185: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gChargingStatusResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 186; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 186: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gChargingStatusResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gChargingStatusResType->EVSEID.characters, v2gChargingStatusResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 187; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gChargingStatusResType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 188; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 188: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - if ( v2gChargingStatusResType->EVSEMaxCurrent_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSEMaxCurrent ); - } - grammarID = 189; - } else if ( v2gChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_v2gMeterInfoType(stream, &v2gChargingStatusResType->MeterInfo ); - } - grammarID = 190; - } else if ( v2gChargingStatusResType->ReceiptRequired_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 191; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_v2gAC_EVSEStatusType(stream, &v2gChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - if ( v2gChargingStatusResType->MeterInfo_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gMeterInfoType(stream, &v2gChargingStatusResType->MeterInfo ); - } - grammarID = 190; - } else if ( v2gChargingStatusResType->ReceiptRequired_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 191; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_v2gAC_EVSEStatusType(stream, &v2gChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - if ( v2gChargingStatusResType->ReceiptRequired_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gChargingStatusResType->ReceiptRequired); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 191; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gAC_EVSEStatusType(stream, &v2gChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gAC_EVSEStatusType(stream, &v2gChargingStatusResType->AC_EVSEStatus ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* v2gReferenceType) { - int grammarID = 192; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 192: - /* 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)] */ - if ( v2gReferenceType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gReferenceType->Id.characters, v2gReferenceType->Id.charactersLen); - } - } - grammarID = 193; - } else if ( v2gReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gReferenceType->Type.characters, v2gReferenceType->Type.charactersLen); - } - } - grammarID = 194; - } else if ( v2gReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gReferenceType->URI.characters, v2gReferenceType->URI.charactersLen); - } - } - grammarID = 195; - } else if ( v2gReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_v2gTransformsType(stream, &v2gReferenceType->Transforms ); - } - grammarID = 196; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 193: - /* 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)] */ - if ( v2gReferenceType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gReferenceType->Type.characters, v2gReferenceType->Type.charactersLen); - } - } - grammarID = 194; - } else if ( v2gReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gReferenceType->URI.characters, v2gReferenceType->URI.charactersLen); - } - } - grammarID = 195; - } else if ( v2gReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_v2gTransformsType(stream, &v2gReferenceType->Transforms ); - } - grammarID = 196; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 194: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( v2gReferenceType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gReferenceType->URI.characters, v2gReferenceType->URI.charactersLen); - } - } - grammarID = 195; - } else if ( v2gReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gTransformsType(stream, &v2gReferenceType->Transforms ); - } - grammarID = 196; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 195: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( v2gReferenceType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gTransformsType(stream, &v2gReferenceType->Transforms ); - } - grammarID = 196; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 196: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); - } - grammarID = 197; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 197: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->DigestValue.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gReferenceType->DigestValue.bytes, v2gReferenceType->DigestValue.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueType* v2gRSAKeyValueType) { - int grammarID = 198; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 198: - /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRSAKeyValueType->Modulus.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gRSAKeyValueType->Modulus.bytes, v2gRSAKeyValueType->Modulus.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 199; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 199: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRSAKeyValueType->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gRSAKeyValueType->Exponent.bytes, v2gRSAKeyValueType->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDef":Header,"urn:iso:15118:2:2013:MsgDef":Body)', derivedBy='RESTRICTION'. */ -static int encode_v2gAnonType_V2G_Message(bitstream_t* stream, struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message) { - int grammarID = 200; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 200: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gMessageHeaderType(stream, &v2gAnonType_V2G_Message->Header ); - } - grammarID = 201; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 201: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gBodyType(stream, &v2gAnonType_V2G_Message->Body ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,AC_EVChargeParameterType', base type name='EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1}),("urn:iso:15118:2:2013:MsgDataTypes":EAmount,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxVoltage,"urn:iso:15118:2:2013:MsgDataTypes":EVMaxCurrent,"urn:iso:15118:2:2013:MsgDataTypes":EVMinCurrent))', derivedBy='EXTENSION'. */ -static int encode_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType) { - int grammarID = 202; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 202: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - if ( v2gAC_EVChargeParameterType->DepartureTime_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, v2gAC_EVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 203; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EAmount ); - } - grammarID = 204; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 203: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EAmount ); - } - grammarID = 204; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 204: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaxVoltage ); - } - grammarID = 205; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaxCurrent ); - } - grammarID = 206; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 206: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinCurrent ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gSignatureMethodType(bitstream_t* stream, struct v2gSignatureMethodType* v2gSignatureMethodType) { - int grammarID = 207; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 207: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gSignatureMethodType->Algorithm.characters, v2gSignatureMethodType->Algorithm.charactersLen); - } - } - grammarID = 208; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 208: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( v2gSignatureMethodType->HMACOutputLength_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, v2gSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 35; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 209; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 35: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 209: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if ( v2gSignatureMethodType->HMACOutputLength_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, v2gSignatureMethodType->HMACOutputLength); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 35; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 209; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2013:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ -static int encode_v2gCertificateInstallationReqType(bitstream_t* stream, struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType) { - int grammarID = 210; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 210: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateInstallationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gCertificateInstallationReqType->Id.characters, v2gCertificateInstallationReqType->Id.charactersLen); - } - } - grammarID = 211; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 211: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}OEMProvisioningCert)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gCertificateInstallationReqType->OEMProvisioningCert.bytes, v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 128; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gListOfRootCertificateIDsType(stream, &v2gCertificateInstallationReqType->ListOfRootCertificateIDs ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Certificate,"urn:iso:15118:2:2013:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ -static int encode_v2gCertificateChainType(bitstream_t* stream, struct v2gCertificateChainType* v2gCertificateChainType) { - int grammarID = 212; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 212: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - if ( v2gCertificateChainType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateChainType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gCertificateChainType->Id.characters, v2gCertificateChainType->Id.charactersLen); - } - } - grammarID = 213; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gCertificateChainType->Certificate.bytes, v2gCertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 213: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateChainType->Certificate.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gCertificateChainType->Certificate.bytes, v2gCertificateChainType->Certificate.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 214; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 214: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates), END_ELEMENT] */ - if ( v2gCertificateChainType->SubCertificates_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gSubCertificatesType(stream, &v2gCertificateChainType->SubCertificates ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionSetupResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEID,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionSetupResType* v2gSessionSetupResType) { - int grammarID = 215; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 215: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gSessionSetupResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 216; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 216: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSessionSetupResType->EVSEID.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gSessionSetupResType->EVSEID.characters, v2gSessionSetupResType->EVSEID.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 217; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp), END_ELEMENT] */ - if ( v2gSessionSetupResType->EVSETimeStamp_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, v2gSessionSetupResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":costKind,"urn:iso:15118:2:2013:MsgDataTypes":amount,"urn:iso:15118:2:2013:MsgDataTypes":amountMultiplier{0-1})', derivedBy='RESTRICTION'. */ -static int encode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostType) { - int grammarID = 218; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 218: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gCostType->costKind); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 219; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 219: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amount)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, v2gCostType->amount); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 220; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 220: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amountMultiplier), END_ELEMENT] */ - if ( v2gCostType->amountMultiplier_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(v2gCostType->amountMultiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gX509DataType(bitstream_t* stream, struct v2gX509DataType* v2gX509DataType) { - int grammarID = 221; - int done = 0; - - unsigned int v2gX509DataType_X509IssuerSerial_currArrayIndex = 0; - unsigned int v2gX509DataType_X509SKI_currArrayIndex = 0; - unsigned int v2gX509DataType_X509SubjectName_currArrayIndex = 0; - unsigned int v2gX509DataType_X509Certificate_currArrayIndex = 0; - unsigned int v2gX509DataType_X509CRL_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 221: - /* 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] */ - if (v2gX509DataType_X509IssuerSerial_currArrayIndex < v2gX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gX509IssuerSerialType(stream, &v2gX509DataType->X509IssuerSerial.array [v2gX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 222; - } else if (v2gX509DataType_X509SKI_currArrayIndex < v2gX509DataType->X509SKI.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytes, v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytesLen); - v2gX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 222; - } else if (v2gX509DataType_X509SubjectName_currArrayIndex < v2gX509DataType->X509SubjectName.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].characters, v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].charactersLen); - v2gX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 222; - } else if (v2gX509DataType_X509Certificate_currArrayIndex < v2gX509DataType->X509Certificate.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytes, v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytesLen); - v2gX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 222; - } else if (v2gX509DataType_X509CRL_currArrayIndex < v2gX509DataType->X509CRL.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytes, v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytesLen); - v2gX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 222; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 222; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 222: - /* 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] */ - if (v2gX509DataType_X509IssuerSerial_currArrayIndex < v2gX509DataType->X509IssuerSerial.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gX509IssuerSerialType(stream, &v2gX509DataType->X509IssuerSerial.array [v2gX509DataType_X509IssuerSerial_currArrayIndex++]); - } - grammarID = 222; - } else if (v2gX509DataType_X509SKI_currArrayIndex < v2gX509DataType->X509SKI.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytes, v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytesLen); - v2gX509DataType_X509SKI_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 222; - } else if (v2gX509DataType_X509SubjectName_currArrayIndex < v2gX509DataType->X509SubjectName.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].characters, v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].charactersLen); - v2gX509DataType_X509SubjectName_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 222; - } else if (v2gX509DataType_X509Certificate_currArrayIndex < v2gX509DataType->X509Certificate.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytes, v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytesLen); - v2gX509DataType_X509Certificate_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 222; - } else if (v2gX509DataType_X509CRL_currArrayIndex < v2gX509DataType->X509CRL.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytes, v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytesLen); - v2gX509DataType_X509CRL_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 222; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 222; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 6); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_v2gEMAIDType(bitstream_t* stream, struct v2gEMAIDType* v2gEMAIDType) { - int grammarID = 223; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 223: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gEMAIDType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gEMAIDType->Id.characters, v2gEMAIDType->Id.charactersLen); - } - } - grammarID = 224; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 224: - /* StartTag[CHARACTERS[STRING]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gEMAIDType->CONTENT.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gEMAIDType->CONTENT.characters, v2gEMAIDType->CONTENT.charactersLen); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":MeterID,"urn:iso:15118:2:2013:MsgDataTypes":MeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2013:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ +/* 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 encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* v2gMeterInfoType) { - int grammarID = 225; + int grammarID = 27; int done = 0; while(!done) { switch(grammarID) { - case 225: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterID)] */ + case 27: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { @@ -7458,25 +902,100 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 226; + grammarID = 28; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 226: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( v2gMeterInfoType->MeterReading_isUsed == 1u ) { + case 28: + /* 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] */ + if ( v2gMeterInfoType->MeterReadingCharged_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 0); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeUnsignedInteger64(stream, v2gMeterInfoType->MeterReading); + errn = encodeUnsignedInteger64(stream, v2gMeterInfoType->MeterReadingCharged); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 227; + grammarID = 29; + } else if ( v2gMeterInfoType->MeterReadingDischarged_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger64(stream, v2gMeterInfoType->MeterReadingDischarged); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 30; + } else if ( v2gMeterInfoType->SigMeterReading_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMeterInfoType->SigMeterReading.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gMeterInfoType->SigMeterReading.bytes, v2gMeterInfoType->SigMeterReading.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 31; + } else if ( v2gMeterInfoType->MeterStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger16(stream, v2gMeterInfoType->MeterStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 32; + } else if ( v2gMeterInfoType->TMeter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger64(stream, v2gMeterInfoType->TMeter); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 29: + /* 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] */ + if ( v2gMeterInfoType->MeterReadingDischarged_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger64(stream, v2gMeterInfoType->MeterReadingDischarged); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 30; } else if ( v2gMeterInfoType->SigMeterReading_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 1); if(errn == 0) { @@ -7491,7 +1010,7 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 228; + grammarID = 31; } else if ( v2gMeterInfoType->MeterStatus_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 2); if(errn == 0) { @@ -7503,7 +1022,7 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 229; + grammarID = 32; } else if ( v2gMeterInfoType->TMeter_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 3); if(errn == 0) { @@ -7515,19 +1034,19 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 5; + grammarID = 2; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 3, 4); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ + case 30: + /* 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] */ if ( v2gMeterInfoType->SigMeterReading_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 0); if(errn == 0) { @@ -7542,7 +1061,7 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 228; + grammarID = 31; } else if ( v2gMeterInfoType->MeterStatus_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 1); if(errn == 0) { @@ -7554,7 +1073,7 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 229; + grammarID = 32; } else if ( v2gMeterInfoType->TMeter_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 2); if(errn == 0) { @@ -7566,19 +1085,19 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 5; + grammarID = 2; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 3, 3); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 228: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ + case 31: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ if ( v2gMeterInfoType->MeterStatus_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { @@ -7590,7 +1109,7 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 229; + grammarID = 32; } else if ( v2gMeterInfoType->TMeter_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { @@ -7602,19 +1121,19 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 5; + grammarID = 2; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 2); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 229: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), END_ELEMENT] */ + case 32: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ if ( v2gMeterInfoType->TMeter_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { @@ -7626,25 +1145,25 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 5; + grammarID = 2; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 5: + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -7660,2062 +1179,106 @@ static int encode_v2gMeterInfoType(bitstream_t* stream, struct v2gMeterInfoType* return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int encode_v2gAuthorizationResType(bitstream_t* stream, struct v2gAuthorizationResType* v2gAuthorizationResType) { - int grammarID = 230; +/* 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 encode_v2gChargeLoopReqType(bitstream_t* stream, struct v2gChargeLoopReqType* v2gChargeLoopReqType) { + int grammarID = 33; int done = 0; while(!done) { switch(grammarID) { - case 230: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 33: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gAuthorizationResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gPhysicalValueType(stream, &v2gChargeLoopReqType->EVTargetEnergyRequest ); } - grammarID = 231; + grammarID = 34; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gAuthorizationResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":TimeInterval)', derivedBy='RESTRICTION'. */ -static int encode_v2gEntryType(bitstream_t* stream, struct v2gEntryType* v2gEntryType) { - int grammarID = 232; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 232: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval)] */ - if ( v2gEntryType->RelativeTimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gRelativeTimeIntervalType(stream, &v2gEntryType->RelativeTimeInterval ); - } - grammarID = 5; - } else if ( v2gEntryType->TimeInterval_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gIntervalType(stream, &v2gEntryType->TimeInterval ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ -static int encode_v2gServiceType(bitstream_t* stream, struct v2gServiceType* v2gServiceType) { - int grammarID = 233; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 233: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, v2gServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 234; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 234: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - if ( v2gServiceType->ServiceName_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gServiceType->ServiceName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gServiceType->ServiceName.characters, v2gServiceType->ServiceName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 235; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 236; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 235: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 236; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 236: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - if ( v2gServiceType->ServiceScope_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gServiceType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gServiceType->ServiceScope.characters, v2gServiceType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 237; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 237: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SelectedService{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_v2gSelectedServiceListType(bitstream_t* stream, struct v2gSelectedServiceListType* v2gSelectedServiceListType) { - int grammarID = 238; - int done = 0; - - unsigned int v2gSelectedServiceListType_SelectedService_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 238: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService)] */ - if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 239; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 239: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), END_ELEMENT] */ - if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); - } - grammarID = 239; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ChargeServiceType', base type name='ServiceType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":ServiceID,"urn:iso:15118:2:2013:MsgDataTypes":ServiceName{0-1},"urn:iso:15118:2:2013:MsgDataTypes":ServiceCategory,"urn:iso:15118:2:2013:MsgDataTypes":ServiceScope{0-1},"urn:iso:15118:2:2013:MsgDataTypes":FreeService),("urn:iso:15118:2:2013:MsgDataTypes":SupportedEnergyTransferMode))', derivedBy='EXTENSION'. */ -static int encode_v2gChargeServiceType(bitstream_t* stream, struct v2gChargeServiceType* v2gChargeServiceType) { - int grammarID = 240; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 240: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, v2gChargeServiceType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 241; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 241: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - if ( v2gChargeServiceType->ServiceName_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gChargeServiceType->ServiceName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gChargeServiceType->ServiceName.characters, v2gChargeServiceType->ServiceName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 242; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gChargeServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 243; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gChargeServiceType->ServiceCategory); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 243; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 243: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - if ( v2gChargeServiceType->ServiceScope_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gChargeServiceType->ServiceScope.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gChargeServiceType->ServiceScope.characters, v2gChargeServiceType->ServiceScope.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 244; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gChargeServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 245; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 244: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gChargeServiceType->FreeService); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 245; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 245: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gSupportedEnergyTransferModeType(stream, &v2gChargeServiceType->SupportedEnergyTransferMode ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ServiceDetailResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":ServiceID,"urn:iso:15118:2:2013:MsgBody":ServiceParameterList{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gServiceDetailResType(bitstream_t* stream, struct v2gServiceDetailResType* v2gServiceDetailResType) { - int grammarID = 246; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 246: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gServiceDetailResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 247; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 247: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, v2gServiceDetailResType->ServiceID); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 248; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 248: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceParameterList), END_ELEMENT] */ - if ( v2gServiceDetailResType->ServiceParameterList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gServiceParameterListType(stream, &v2gServiceDetailResType->ServiceParameterList ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gSignatureValueType(bitstream_t* stream, struct v2gSignatureValueType* v2gSignatureValueType) { - int grammarID = 249; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 249: - /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ - if ( v2gSignatureValueType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureValueType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gSignatureValueType->Id.characters, v2gSignatureValueType->Id.charactersLen); - } - } - grammarID = 58; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gSignatureValueType->CONTENT.bytes, v2gSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 58: - /* StartTag[CHARACTERS[BINARY_BASE64]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureValueType->CONTENT.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gSignatureValueType->CONTENT.bytes, v2gSignatureValueType->CONTENT.bytesLen); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gSignaturePropertiesType(bitstream_t* stream, struct v2gSignaturePropertiesType* v2gSignaturePropertiesType) { - int grammarID = 250; - int done = 0; - - unsigned int v2gSignaturePropertiesType_SignatureProperty_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 250: - /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if ( v2gSignaturePropertiesType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertiesType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gSignaturePropertiesType->Id.characters, v2gSignaturePropertiesType->Id.charactersLen); - } - } - grammarID = 251; - } else if (v2gSignaturePropertiesType_SignatureProperty_currArrayIndex < v2gSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array [v2gSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 252; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 251: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ - if (v2gSignaturePropertiesType_SignatureProperty_currArrayIndex < v2gSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array [v2gSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 252; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 252: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ - if (v2gSignaturePropertiesType_SignatureProperty_currArrayIndex < v2gSignaturePropertiesType->SignatureProperty.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array [v2gSignaturePropertiesType_SignatureProperty_currArrayIndex++]); - } - grammarID = 252; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,AuthorizationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gAuthorizationReqType(bitstream_t* stream, struct v2gAuthorizationReqType* v2gAuthorizationReqType) { - int grammarID = 253; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 253: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge), END_ELEMENT] */ - if ( v2gAuthorizationReqType->Id_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gAuthorizationReqType->Id.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gAuthorizationReqType->Id.characters, v2gAuthorizationReqType->Id.charactersLen); - } - } - grammarID = 254; - } else if ( v2gAuthorizationReqType->GenChallenge_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gAuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gAuthorizationReqType->GenChallenge.bytes, v2gAuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 254: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge), END_ELEMENT] */ - if ( v2gAuthorizationReqType->GenChallenge_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gAuthorizationReqType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gAuthorizationReqType->GenChallenge.bytes, v2gAuthorizationReqType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVStatusType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_v2gEVStatusType(bitstream_t* stream, struct v2gEVStatusType* v2gEVStatusType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumPowerLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMaximumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumCurrentLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSEMinimumVoltageLimit,"urn:iso:15118:2:2013:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2013:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ -static int encode_v2gDC_EVSEChargeParameterType(bitstream_t* stream, struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType) { - int grammarID = 255; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 255: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVSEStatusType(stream, &v2gDC_EVSEChargeParameterType->DC_EVSEStatus ); - } - grammarID = 256; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 256: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumCurrentLimit ); - } - grammarID = 257; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 257: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumPowerLimit ); - } - grammarID = 258; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 258: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumVoltageLimit ); - } - grammarID = 259; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 259: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMinimumCurrentLimit ); - } - grammarID = 260; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 260: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMinimumVoltageLimit ); - } - grammarID = 261; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 261: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance ); - } - grammarID = 262; - } else if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 263; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 262: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); - } - grammarID = 263; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 263: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ - if ( v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleListType', base type name='SASchedulesType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTuple{1-3})', derivedBy='EXTENSION'. */ -static int encode_v2gSAScheduleListType(bitstream_t* stream, struct v2gSAScheduleListType* v2gSAScheduleListType) { - int grammarID = 264; - int done = 0; - - unsigned int v2gSAScheduleListType_SAScheduleTuple_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 264: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple)] */ - if (v2gSAScheduleListType_SAScheduleTuple_currArrayIndex < v2gSAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array [v2gSAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 265; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 265: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (v2gSAScheduleListType_SAScheduleTuple_currArrayIndex < v2gSAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array [v2gSAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 266; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 266: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ - if (v2gSAScheduleListType_SAScheduleTuple_currArrayIndex < v2gSAScheduleListType->SAScheduleTuple.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array [v2gSAScheduleListType_SAScheduleTuple_currArrayIndex++]); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMethodType* v2gDigestMethodType) { - int grammarID = 267; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 267: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDigestMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gDigestMethodType->Algorithm.characters, v2gDigestMethodType->Algorithm.charactersLen); - } - } - grammarID = 47; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 47: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 35: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gKeyValueType(bitstream_t* stream, struct v2gKeyValueType* v2gKeyValueType) { - int grammarID = 268; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 268: - /* 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]] */ - if ( v2gKeyValueType->DSAKeyValue_isUsed == 1u ) { + case 34: + /* 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] */ + if ( v2gChargeLoopReqType->EVMaximumEnergyRequest_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 0); if(errn == 0) { - errn = encode_v2gDSAKeyValueType(stream, &v2gKeyValueType->DSAKeyValue ); + errn = encode_v2gPhysicalValueType(stream, &v2gChargeLoopReqType->EVMaximumEnergyRequest ); } - grammarID = 269; - } else if ( v2gKeyValueType->RSAKeyValue_isUsed == 1u ) { + grammarID = 35; + } else if ( v2gChargeLoopReqType->EVMinimumEnergyRequest_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 1); if(errn == 0) { - errn = encode_v2gRSAKeyValueType(stream, &v2gKeyValueType->RSAKeyValue ); + errn = encode_v2gPhysicalValueType(stream, &v2gChargeLoopReqType->EVMinimumEnergyRequest ); } - grammarID = 269; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 269; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 270; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 269: - /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 269; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 270: - /* 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]] */ - if ( v2gKeyValueType->DSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gDSAKeyValueType(stream, &v2gKeyValueType->DSAKeyValue ); - } - grammarID = 269; - } else if ( v2gKeyValueType->RSAKeyValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_v2gRSAKeyValueType(stream, &v2gKeyValueType->RSAKeyValue ); - } - grammarID = 269; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 269; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 270; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVPowerDeliveryParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_v2gEVPowerDeliveryParameterType(bitstream_t* stream, struct v2gEVPowerDeliveryParameterType* v2gEVPowerDeliveryParameterType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gTransformType(bitstream_t* stream, struct v2gTransformType* v2gTransformType) { - int grammarID = 271; - int done = 0; - - unsigned int v2gTransformType_XPath_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 271: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gTransformType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gTransformType->Algorithm.characters, v2gTransformType->Algorithm.charactersLen); - } - } - grammarID = 272; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 272: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (v2gTransformType_XPath_currArrayIndex < v2gTransformType->XPath.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].characters, v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].charactersLen); - v2gTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 273; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 273; - } else if (1==1) { + grammarID = 36; + } else if ( v2gChargeLoopReqType->DisplayParameters_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 3, 2); if(errn == 0) { - done = 1; + errn = encode_v2gDisplayParametersType(stream, &v2gChargeLoopReqType->DisplayParameters ); } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 273; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 273: - /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (v2gTransformType_XPath_currArrayIndex < v2gTransformType->XPath.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].characters, v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].charactersLen); - v2gTransformType_XPath_currArrayIndex++; - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 273; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 273; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 273; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_v2gBodyBaseType(bitstream_t* stream, struct v2gBodyBaseType* v2gBodyBaseType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,SessionStopResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode)', derivedBy='EXTENSION'. */ -static int encode_v2gSessionStopResType(bitstream_t* stream, struct v2gSessionStopResType* v2gSessionStopResType) { - int grammarID = 54; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 54: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gSessionStopResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":boolValue|"urn:iso:15118:2:2013:MsgDataTypes":byteValue|"urn:iso:15118:2:2013:MsgDataTypes":shortValue|"urn:iso:15118:2:2013:MsgDataTypes":intValue|"urn:iso:15118:2:2013:MsgDataTypes":physicalValue|"urn:iso:15118:2:2013:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ -static int encode_v2gParameterType(bitstream_t* stream, struct v2gParameterType* v2gParameterType) { - int grammarID = 274; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 274: - /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Name)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gParameterType->Name.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gParameterType->Name.characters, v2gParameterType->Name.charactersLen); - } - } - grammarID = 275; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 275: - /* StartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}stringValue)] */ - if ( v2gParameterType->boolValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, v2gParameterType->boolValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if ( v2gParameterType->byteValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gParameterType->byteValue + 128)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if ( v2gParameterType->shortValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger16(stream, v2gParameterType->shortValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if ( v2gParameterType->intValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger32(stream, v2gParameterType->intValue); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if ( v2gParameterType->physicalValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gParameterType->physicalValue ); - } - grammarID = 5; - } else if ( v2gParameterType->stringValue_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 5); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gParameterType->stringValue.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gParameterType->stringValue.characters, v2gParameterType->stringValue.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,ServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":Service{1-8})', derivedBy='RESTRICTION'. */ -static int encode_v2gServiceListType(bitstream_t* stream, struct v2gServiceListType* v2gServiceListType) { - int grammarID = 276; - int done = 0; - - unsigned int v2gServiceListType_Service_currArrayIndex = 0; - - while(!done) { - switch(grammarID) { - case 276: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service)] */ - if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); - } - grammarID = 277; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 277: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); - } - grammarID = 278; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 278: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); - } - grammarID = 279; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 279: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); - } - grammarID = 280; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 280: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); - } - grammarID = 281; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 281: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); - } - grammarID = 282; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 282: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); - } - grammarID = 283; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 283: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), END_ELEMENT] */ - if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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#,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 encode_v2gRetrievalMethodType(bitstream_t* stream, struct v2gRetrievalMethodType* v2gRetrievalMethodType) { - int grammarID = 284; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 284: - /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( v2gRetrievalMethodType->Type_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRetrievalMethodType->Type.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gRetrievalMethodType->Type.characters, v2gRetrievalMethodType->Type.charactersLen); - } - } - grammarID = 285; - } else if ( v2gRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gRetrievalMethodType->URI.characters, v2gRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 286; - } else if ( v2gRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms ); - } - grammarID = 5; + grammarID = 2; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 3, 3); if(errn == 0) { done = 1; } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 285: - /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( v2gRetrievalMethodType->URI_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRetrievalMethodType->URI.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gRetrievalMethodType->URI.characters, v2gRetrievalMethodType->URI.charactersLen); - } - } - grammarID = 286; - } else if ( v2gRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 286: - /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ - if ( v2gRetrievalMethodType->Transforms_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms ); - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,EVChargeParameterType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":DepartureTime{0-1})', derivedBy='RESTRICTION'. */ -static int encode_v2gEVChargeParameterType(bitstream_t* stream, struct v2gEVChargeParameterType* v2gEVChargeParameterType) { - int grammarID = 287; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 287: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime), END_ELEMENT] */ - if ( v2gEVChargeParameterType->DepartureTime_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, v2gEVChargeParameterType->DepartureTime); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - 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 encode_v2gCanonicalizationMethodType(bitstream_t* stream, struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType) { - int grammarID = 267; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 267: - /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCanonicalizationMethodType->Algorithm.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, v2gCanonicalizationMethodType->Algorithm.characters, v2gCanonicalizationMethodType->Algorithm.charactersLen); - } - } - grammarID = 47; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 47: - /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; - } else if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; case 35: - /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ - if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ + if ( v2gChargeLoopReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargeLoopReqType->EVMinimumEnergyRequest ); + } + grammarID = 36; + } else if ( v2gChargeLoopReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gChargeLoopReqType->DisplayParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 36: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ + if ( v2gChargeLoopReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gChargeLoopReqType->DisplayParameters ); + } + grammarID = 2; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; - } else if (1==0) { - errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; - grammarID = 35; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,IntervalType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ -static int encode_v2gIntervalType(bitstream_t* stream, struct v2gIntervalType* v2gIntervalType) { - int grammarID = 0; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 0: - /* FirstStartTag[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":DC_EVStatus,"urn:iso:15118:2:2013:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2013:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ -static int encode_v2gPreChargeReqType(bitstream_t* stream, struct v2gPreChargeReqType* v2gPreChargeReqType) { - int grammarID = 288; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 288: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVStatusType(stream, &v2gPreChargeReqType->DC_EVStatus ); - } - grammarID = 289; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 289: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gPreChargeReqType->EVTargetVoltage ); - } - grammarID = 290; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 290: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &v2gPreChargeReqType->EVTargetCurrent ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -9731,106 +1294,61 @@ static int encode_v2gPreChargeReqType(bitstream_t* stream, struct v2gPreChargeRe return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,DC_EVSEStatusType', base type name='EVSEStatusType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2013:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2013:MsgDataTypes":EVSENotification),("urn:iso:15118:2:2013:MsgDataTypes":EVSEIsolationStatus{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatusCode))', derivedBy='EXTENSION'. */ -static int encode_v2gDC_EVSEStatusType(bitstream_t* stream, struct v2gDC_EVSEStatusType* v2gDC_EVSEStatusType) { - int grammarID = 291; +/* 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 encode_v2gMessageHeaderType(bitstream_t* stream, struct v2gMessageHeaderType* v2gMessageHeaderType) { + int grammarID = 37; int done = 0; while(!done) { switch(grammarID) { - case 291: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay)] */ + case 37: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeUnsignedInteger16(stream, v2gDC_EVSEStatusType->NotificationMaxDelay); + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMessageHeaderType->SessionID.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gMessageHeaderType->SessionID.bytes, v2gMessageHeaderType->SessionID.bytesLen); + } /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 292; + grammarID = 38; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 292: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gDC_EVSEStatusType->EVSENotification); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 293; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 293: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode)] */ - if ( v2gDC_EVSEStatusType->EVSEIsolationStatus_isUsed == 1u ) { + case 38: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ + if ( v2gMessageHeaderType->Signature_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, v2gDC_EVSEStatusType->EVSEIsolationStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gSignatureType(stream, &v2gMessageHeaderType->Signature ); } - grammarID = 294; - } else if ( 1 == 1 ) { + grammarID = 2; + } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, v2gDC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + done = 1; } - grammarID = 5; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 294: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, v2gDC_EVSEStatusType->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -9848,14 +1366,14 @@ static int encode_v2gDC_EVSEStatusType(bitstream_t* stream, struct v2gDC_EVSESta /* 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 encode_v2gSignatureType(bitstream_t* stream, struct v2gSignatureType* v2gSignatureType) { - int grammarID = 295; + int grammarID = 39; int done = 0; unsigned int v2gSignatureType_Object_currArrayIndex = 0; while(!done) { switch(grammarID) { - case 295: + case 39: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ if ( v2gSignatureType->Id_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); @@ -9866,79 +1384,79 @@ static int encode_v2gSignatureType(bitstream_t* stream, struct v2gSignatureType* errn = encodeCharacters(stream, v2gSignatureType->Id.characters, v2gSignatureType->Id.charactersLen); } } - grammarID = 296; + grammarID = 40; } else if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { errn = encode_v2gSignedInfoType(stream, &v2gSignatureType->SignedInfo ); } - grammarID = 297; + grammarID = 41; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 296: + case 40: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gSignedInfoType(stream, &v2gSignatureType->SignedInfo ); } - grammarID = 297; + grammarID = 41; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 297: + case 41: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gSignatureValueType(stream, &v2gSignatureType->SignatureValue ); } - grammarID = 298; + grammarID = 42; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 298: + case 42: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ if ( v2gSignatureType->KeyInfo_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { errn = encode_v2gKeyInfoType(stream, &v2gSignatureType->KeyInfo ); } - grammarID = 299; + grammarID = 43; } else if (v2gSignatureType_Object_currArrayIndex < v2gSignatureType->Object.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { errn = encode_v2gObjectType(stream, &v2gSignatureType->Object.array [v2gSignatureType_Object_currArrayIndex++]); } - grammarID = 299; + grammarID = 43; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 2); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 299: + case 43: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ if (v2gSignatureType_Object_currArrayIndex < v2gSignatureType->Object.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { errn = encode_v2gObjectType(stream, &v2gSignatureType->Object.array [v2gSignatureType_Object_currArrayIndex++]); } - grammarID = 299; + grammarID = 43; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -9954,70 +1472,412 @@ static int encode_v2gSignatureType(bitstream_t* stream, struct v2gSignatureType* return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,CableCheckResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":DC_EVSEStatus,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing)', derivedBy='EXTENSION'. */ -static int encode_v2gCableCheckResType(bitstream_t* stream, struct v2gCableCheckResType* v2gCableCheckResType) { - int grammarID = 300; +/* 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 encode_v2gBodyType(bitstream_t* stream, struct v2gBodyType* v2gBodyType) { + int grammarID = 44; int done = 0; while(!done) { switch(grammarID) { - case 300: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); + case 44: + /* 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}EVErrorInformation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEErrorInformation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorInformation), 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)] */ + if ( v2gBodyType->AC_BidirectionalControlReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 0); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gCableCheckResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gAC_BidirectionalControlReqType(stream, &v2gBodyType->AC_BidirectionalControlReq ); } - grammarID = 301; + grammarID = 2; + } else if ( v2gBodyType->AC_BidirectionalControlRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 1); + if(errn == 0) { + errn = encode_v2gAC_BidirectionalControlResType(stream, &v2gBodyType->AC_BidirectionalControlRes ); + } + grammarID = 2; + } else if ( v2gBodyType->AlignmentCheckReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 2); + if(errn == 0) { + errn = encode_v2gAlignmentCheckReqType(stream, &v2gBodyType->AlignmentCheckReq ); + } + grammarID = 2; + } else if ( v2gBodyType->AlignmentCheckRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 3); + if(errn == 0) { + errn = encode_v2gAlignmentCheckResType(stream, &v2gBodyType->AlignmentCheckRes ); + } + grammarID = 2; + } else if ( v2gBodyType->AuthorizationReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 4); + if(errn == 0) { + errn = encode_v2gAuthorizationReqType(stream, &v2gBodyType->AuthorizationReq ); + } + grammarID = 2; + } else if ( v2gBodyType->AuthorizationRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 5); + if(errn == 0) { + errn = encode_v2gAuthorizationResType(stream, &v2gBodyType->AuthorizationRes ); + } + grammarID = 2; + } else if ( v2gBodyType->BodyElement_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 6); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &v2gBodyType->BodyElement ); + } + grammarID = 2; + } else if ( v2gBodyType->CableCheckReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 7); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &v2gBodyType->CableCheckReq ); + } + grammarID = 2; + } else if ( v2gBodyType->CableCheckRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 8); + if(errn == 0) { + errn = encode_v2gCableCheckResType(stream, &v2gBodyType->CableCheckRes ); + } + grammarID = 2; + } else if ( v2gBodyType->CertificateInstallationReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 9); + if(errn == 0) { + errn = encode_v2gCertificateInstallationReqType(stream, &v2gBodyType->CertificateInstallationReq ); + } + grammarID = 2; + } else if ( v2gBodyType->CertificateInstallationRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 10); + if(errn == 0) { + errn = encode_v2gCertificateInstallationResType(stream, &v2gBodyType->CertificateInstallationRes ); + } + grammarID = 2; + } else if ( v2gBodyType->CertificateUpdateReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 11); + if(errn == 0) { + errn = encode_v2gCertificateUpdateReqType(stream, &v2gBodyType->CertificateUpdateReq ); + } + grammarID = 2; + } else if ( v2gBodyType->CertificateUpdateRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 12); + if(errn == 0) { + errn = encode_v2gCertificateUpdateResType(stream, &v2gBodyType->CertificateUpdateRes ); + } + grammarID = 2; + } else if ( v2gBodyType->ChargeParameterDiscoveryReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 13); + if(errn == 0) { + errn = encode_v2gChargeParameterDiscoveryReqType(stream, &v2gBodyType->ChargeParameterDiscoveryReq ); + } + grammarID = 2; + } else if ( v2gBodyType->ChargeParameterDiscoveryRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 14); + if(errn == 0) { + errn = encode_v2gChargeParameterDiscoveryResType(stream, &v2gBodyType->ChargeParameterDiscoveryRes ); + } + grammarID = 2; + } else if ( v2gBodyType->ChargingStatusReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 15); + if(errn == 0) { + errn = encode_v2gChargingStatusReqType(stream, &v2gBodyType->ChargingStatusReq ); + } + grammarID = 2; + } else if ( v2gBodyType->ChargingStatusRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 16); + if(errn == 0) { + errn = encode_v2gChargingStatusResType(stream, &v2gBodyType->ChargingStatusRes ); + } + grammarID = 2; + } else if ( v2gBodyType->ConnectChargingDeviceReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 17); + if(errn == 0) { + errn = encode_v2gConnectChargingDeviceReqType(stream, &v2gBodyType->ConnectChargingDeviceReq ); + } + grammarID = 2; + } else if ( v2gBodyType->ConnectChargingDeviceRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 18); + if(errn == 0) { + errn = encode_v2gConnectChargingDeviceResType(stream, &v2gBodyType->ConnectChargingDeviceRes ); + } + grammarID = 2; + } else if ( v2gBodyType->CurrentDemandReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 19); + if(errn == 0) { + errn = encode_v2gCurrentDemandReqType(stream, &v2gBodyType->CurrentDemandReq ); + } + grammarID = 2; + } else if ( v2gBodyType->CurrentDemandRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 20); + if(errn == 0) { + errn = encode_v2gCurrentDemandResType(stream, &v2gBodyType->CurrentDemandRes ); + } + grammarID = 2; + } else if ( v2gBodyType->DC_BidirectionalControlReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 21); + if(errn == 0) { + errn = encode_v2gDC_BidirectionalControlReqType(stream, &v2gBodyType->DC_BidirectionalControlReq ); + } + grammarID = 2; + } else if ( v2gBodyType->DC_BidirectionalControlRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 22); + if(errn == 0) { + errn = encode_v2gDC_BidirectionalControlResType(stream, &v2gBodyType->DC_BidirectionalControlRes ); + } + grammarID = 2; + } else if ( v2gBodyType->DisconnectChargingDeviceReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 23); + if(errn == 0) { + errn = encode_v2gDisconnectChargingDeviceReqType(stream, &v2gBodyType->DisconnectChargingDeviceReq ); + } + grammarID = 2; + } else if ( v2gBodyType->DisconnectChargingDeviceRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 24); + if(errn == 0) { + errn = encode_v2gDisconnectChargingDeviceResType(stream, &v2gBodyType->DisconnectChargingDeviceRes ); + } + grammarID = 2; + } else if ( v2gBodyType->EVErrorInformation_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 25); + if(errn == 0) { + errn = encode_v2gEVErrorInformationType(stream, &v2gBodyType->EVErrorInformation ); + } + grammarID = 2; + } else if ( v2gBodyType->EVSEErrorInformation_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 26); + if(errn == 0) { + errn = encode_v2gEVSEErrorInformationType(stream, &v2gBodyType->EVSEErrorInformation ); + } + grammarID = 2; + } else if ( v2gBodyType->ErrorInformation_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 27); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &v2gBodyType->ErrorInformation ); + } + grammarID = 2; + } else if ( v2gBodyType->FinePositioningReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 28); + if(errn == 0) { + errn = encode_v2gFinePositioningReqType(stream, &v2gBodyType->FinePositioningReq ); + } + grammarID = 2; + } else if ( v2gBodyType->FinePositioningRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 29); + if(errn == 0) { + errn = encode_v2gFinePositioningResType(stream, &v2gBodyType->FinePositioningRes ); + } + grammarID = 2; + } else if ( v2gBodyType->FinePositioningSetupReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 30); + if(errn == 0) { + errn = encode_v2gFinePositioningSetupReqType(stream, &v2gBodyType->FinePositioningSetupReq ); + } + grammarID = 2; + } else if ( v2gBodyType->FinePositioningSetupRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 31); + if(errn == 0) { + errn = encode_v2gFinePositioningSetupResType(stream, &v2gBodyType->FinePositioningSetupRes ); + } + grammarID = 2; + } else if ( v2gBodyType->MeteringReceiptReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 32); + if(errn == 0) { + errn = encode_v2gMeteringReceiptReqType(stream, &v2gBodyType->MeteringReceiptReq ); + } + grammarID = 2; + } else if ( v2gBodyType->MeteringReceiptRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 33); + if(errn == 0) { + errn = encode_v2gV2GResponseType(stream, &v2gBodyType->MeteringReceiptRes ); + } + grammarID = 2; + } else if ( v2gBodyType->PairingReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 34); + if(errn == 0) { + errn = encode_v2gPairingReqType(stream, &v2gBodyType->PairingReq ); + } + grammarID = 2; + } else if ( v2gBodyType->PairingRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 35); + if(errn == 0) { + errn = encode_v2gPairingResType(stream, &v2gBodyType->PairingRes ); + } + grammarID = 2; + } else if ( v2gBodyType->PaymentDetailsReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 36); + if(errn == 0) { + errn = encode_v2gPaymentDetailsReqType(stream, &v2gBodyType->PaymentDetailsReq ); + } + grammarID = 2; + } else if ( v2gBodyType->PaymentDetailsRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 37); + if(errn == 0) { + errn = encode_v2gPaymentDetailsResType(stream, &v2gBodyType->PaymentDetailsRes ); + } + grammarID = 2; + } else if ( v2gBodyType->PaymentServiceSelectionReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 38); + if(errn == 0) { + errn = encode_v2gPaymentServiceSelectionReqType(stream, &v2gBodyType->PaymentServiceSelectionReq ); + } + grammarID = 2; + } else if ( v2gBodyType->PaymentServiceSelectionRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 39); + if(errn == 0) { + errn = encode_v2gV2GResponseType(stream, &v2gBodyType->PaymentServiceSelectionRes ); + } + grammarID = 2; + } else if ( v2gBodyType->PowerDeliveryReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 40); + if(errn == 0) { + errn = encode_v2gPowerDeliveryReqType(stream, &v2gBodyType->PowerDeliveryReq ); + } + grammarID = 2; + } else if ( v2gBodyType->PowerDeliveryRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 41); + if(errn == 0) { + errn = encode_v2gPowerDeliveryResType(stream, &v2gBodyType->PowerDeliveryRes ); + } + grammarID = 2; + } else if ( v2gBodyType->PowerDemandReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 42); + if(errn == 0) { + errn = encode_v2gPowerDemandReqType(stream, &v2gBodyType->PowerDemandReq ); + } + grammarID = 2; + } else if ( v2gBodyType->PowerDemandRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 43); + if(errn == 0) { + errn = encode_v2gPowerDemandResType(stream, &v2gBodyType->PowerDemandRes ); + } + grammarID = 2; + } else if ( v2gBodyType->PreChargeReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 44); + if(errn == 0) { + errn = encode_v2gPreChargeReqType(stream, &v2gBodyType->PreChargeReq ); + } + grammarID = 2; + } else if ( v2gBodyType->PreChargeRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 45); + if(errn == 0) { + errn = encode_v2gPreChargeResType(stream, &v2gBodyType->PreChargeRes ); + } + grammarID = 2; + } else if ( v2gBodyType->ServiceDetailReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 46); + if(errn == 0) { + errn = encode_v2gServiceDetailReqType(stream, &v2gBodyType->ServiceDetailReq ); + } + grammarID = 2; + } else if ( v2gBodyType->ServiceDetailRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 47); + if(errn == 0) { + errn = encode_v2gServiceDetailResType(stream, &v2gBodyType->ServiceDetailRes ); + } + grammarID = 2; + } else if ( v2gBodyType->ServiceDiscoveryReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 48); + if(errn == 0) { + errn = encode_v2gServiceDiscoveryReqType(stream, &v2gBodyType->ServiceDiscoveryReq ); + } + grammarID = 2; + } else if ( v2gBodyType->ServiceDiscoveryRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 49); + if(errn == 0) { + errn = encode_v2gServiceDiscoveryResType(stream, &v2gBodyType->ServiceDiscoveryRes ); + } + grammarID = 2; + } else if ( v2gBodyType->SessionSetupReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 50); + if(errn == 0) { + errn = encode_v2gSessionSetupReqType(stream, &v2gBodyType->SessionSetupReq ); + } + grammarID = 2; + } else if ( v2gBodyType->SessionSetupRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 51); + if(errn == 0) { + errn = encode_v2gSessionSetupResType(stream, &v2gBodyType->SessionSetupRes ); + } + grammarID = 2; + } else if ( v2gBodyType->SessionStopReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 52); + if(errn == 0) { + errn = encode_v2gSessionStopReqType(stream, &v2gBodyType->SessionStopReq ); + } + grammarID = 2; + } else if ( v2gBodyType->SessionStopRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 53); + if(errn == 0) { + errn = encode_v2gV2GResponseType(stream, &v2gBodyType->SessionStopRes ); + } + grammarID = 2; + } else if ( v2gBodyType->SystemStatusReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 54); + if(errn == 0) { + errn = encode_v2gSystemStatusReqType(stream, &v2gBodyType->SystemStatusReq ); + } + grammarID = 2; + } else if ( v2gBodyType->SystemStatusRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 55); + if(errn == 0) { + errn = encode_v2gSystemStatusResType(stream, &v2gBodyType->SystemStatusRes ); + } + grammarID = 2; + } else if ( v2gBodyType->V2GRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 56); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &v2gBodyType->V2GRequest ); + } + grammarID = 2; + } else if ( v2gBodyType->V2GResponse_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 57); + if(errn == 0) { + errn = encode_v2gV2GResponseType(stream, &v2gBodyType->V2GResponse ); + } + grammarID = 2; + } else if ( v2gBodyType->VehicleCheckInReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 58); + if(errn == 0) { + errn = encode_v2gVehicleCheckInReqType(stream, &v2gBodyType->VehicleCheckInReq ); + } + grammarID = 2; + } else if ( v2gBodyType->VehicleCheckInRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 59); + if(errn == 0) { + errn = encode_v2gVehicleCheckInResType(stream, &v2gBodyType->VehicleCheckInRes ); + } + grammarID = 2; + } else if ( v2gBodyType->VehicleCheckOutReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 60); + if(errn == 0) { + errn = encode_v2gVehicleCheckOutReqType(stream, &v2gBodyType->VehicleCheckOutReq ); + } + grammarID = 2; + } else if ( v2gBodyType->VehicleCheckOutRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 61); + if(errn == 0) { + errn = encode_v2gVehicleCheckOutResType(stream, &v2gBodyType->VehicleCheckOutRes ); + } + grammarID = 2; + } else if ( v2gBodyType->WeldingDetectionReq_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 62); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &v2gBodyType->WeldingDetectionReq ); + } + grammarID = 2; + } else if ( v2gBodyType->WeldingDetectionRes_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 7, 63); + if(errn == 0) { + errn = encode_v2gWeldingDetectionResType(stream, &v2gBodyType->WeldingDetectionRes ); + } + grammarID = 2; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 301: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gDC_EVSEStatusType(stream, &v2gCableCheckResType->DC_EVSEStatus ); - } - grammarID = 231; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 231: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gCableCheckResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -10033,79 +1893,70 @@ static int encode_v2gCableCheckResType(bitstream_t* stream, struct v2gCableCheck return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PaymentDetailsResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":GenChallenge,"urn:iso:15118:2:2013:MsgBody":EVSETimeStamp)', derivedBy='EXTENSION'. */ -static int encode_v2gPaymentDetailsResType(bitstream_t* stream, struct v2gPaymentDetailsResType* v2gPaymentDetailsResType) { - int grammarID = 302; +/* 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 encode_v2gFinePositioningReqType(bitstream_t* stream, struct v2gFinePositioningReqType* v2gFinePositioningReqType) { + int grammarID = 45; int done = 0; while(!done) { switch(grammarID) { - case 302: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 45: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gPaymentDetailsResType->ResponseCode); + errn = encodeNBitUnsignedInteger(stream, 2, v2gFinePositioningReqType->EVProcessing); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 303; + grammarID = 46; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 303: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); + case 46: + /* 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] */ + if ( v2gFinePositioningReqType->EVFinePositioningParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPaymentDetailsResType->GenChallenge.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, v2gPaymentDetailsResType->GenChallenge.bytes, v2gPaymentDetailsResType->GenChallenge.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gEVFinePositioningParametersType(stream, &v2gFinePositioningReqType->EVFinePositioningParameters ); } - grammarID = 304; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 304: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); + grammarID = 2; + } else if ( v2gFinePositioningReqType->Generic_EVFinePositioningParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeInteger64(stream, v2gPaymentDetailsResType->EVSETimeStamp); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gGeneric_EVFinePositioningParametersType(stream, &v2gFinePositioningReqType->Generic_EVFinePositioningParameters ); } - grammarID = 5; + grammarID = 2; + } else if ( v2gFinePositioningReqType->LFA_EVFinePositioningParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gLFA_EVFinePositioningParametersType(stream, &v2gFinePositioningReqType->LFA_EVFinePositioningParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 5: + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -10121,22 +1972,278 @@ static int encode_v2gPaymentDetailsResType(bitstream_t* stream, struct v2gPaymen return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargingStatusReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ -static int encode_v2gChargingStatusReqType(bitstream_t* stream, struct v2gChargingStatusReqType* v2gChargingStatusReqType) { - int grammarID = 0; +/* 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 encode_v2gPMaxScheduleEntryType(bitstream_t* stream, struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType) { + int grammarID = 47; + int done = 0; + + unsigned int v2gPMaxScheduleEntryType_PMax_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 47: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gRelativeTimeIntervalType(stream, &v2gPMaxScheduleEntryType->RelativeTimeInterval ); + } + grammarID = 48; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 48: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax)] */ + if (v2gPMaxScheduleEntryType_PMax_currArrayIndex < v2gPMaxScheduleEntryType->PMax.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPMaxScheduleEntryType->PMax.array [v2gPMaxScheduleEntryType_PMax_currArrayIndex++]); + } + grammarID = 49; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 49: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ + if (v2gPMaxScheduleEntryType_PMax_currArrayIndex < v2gPMaxScheduleEntryType->PMax.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPMaxScheduleEntryType->PMax.array [v2gPMaxScheduleEntryType_PMax_currArrayIndex++]); + } + grammarID = 50; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 50: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ + if (v2gPMaxScheduleEntryType_PMax_currArrayIndex < v2gPMaxScheduleEntryType->PMax.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPMaxScheduleEntryType->PMax.array [v2gPMaxScheduleEntryType_PMax_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPreChargeReqType(bitstream_t* stream, struct v2gPreChargeReqType* v2gPreChargeReqType) { + int grammarID = 51; int done = 0; while(!done) { switch(grammarID) { - case 0: + case 51: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPreChargeReqType->EVTargetVoltage ); + } + grammarID = 52; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 52: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPreChargeReqType->EVTargetCurrent ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gVehicleCheckInResType(bitstream_t* stream, struct v2gVehicleCheckInResType* v2gVehicleCheckInResType) { + int grammarID = 53; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 53: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gVehicleCheckInResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 54; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 54: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ + if ( v2gVehicleCheckInResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gVehicleCheckInResType->EVSEStatus ); + } + grammarID = 55; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gVehicleCheckInResType->VehicleSpace); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 56; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 55: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gVehicleCheckInResType->VehicleSpace); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 56; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 56: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), END_ELEMENT] */ + if ( v2gVehicleCheckInResType->TargetOffset_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gTargetPositionType(stream, &v2gVehicleCheckInResType->TargetOffset ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gV2GRequestType(bitstream_t* stream, struct v2gV2GRequestType* v2gV2GRequestType) { + int grammarID = 4; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 4: /* FirstStartTag[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -10152,320 +2259,23718 @@ static int encode_v2gChargingStatusReqType(bitstream_t* stream, struct v2gChargi return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ -static int encode_v2gPMaxScheduleType(bitstream_t* stream, struct v2gPMaxScheduleType* v2gPMaxScheduleType) { - int grammarID = 305; +/* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LF_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 encode_v2gLF_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gLF_EVSEFinePositioningParametersType* v2gLF_EVSEFinePositioningParametersType) { + int grammarID = 57; int done = 0; - unsigned int v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex = 0; while(!done) { switch(grammarID) { - case 305: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry)] */ - if (v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex < v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen ) { + case 57: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages)] */ + if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encode_v2gPMaxScheduleEntryType(stream, &v2gPMaxScheduleType->PMaxScheduleEntry.array [v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLF_EVSEFinePositioningParametersType->NumberOfSignalPackages - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 58; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 58: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageListType(stream, &v2gLF_EVSEFinePositioningParametersType->SensorPackageList ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSignaturePropertiesType(bitstream_t* stream, struct v2gSignaturePropertiesType* v2gSignaturePropertiesType) { + int grammarID = 59; + int done = 0; + + unsigned int v2gSignaturePropertiesType_SignatureProperty_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 59: + /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ + if ( v2gSignaturePropertiesType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertiesType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignaturePropertiesType->Id.characters, v2gSignaturePropertiesType->Id.charactersLen); + } + } + grammarID = 60; + } else if (v2gSignaturePropertiesType_SignatureProperty_currArrayIndex < v2gSignaturePropertiesType->SignatureProperty.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array [v2gSignaturePropertiesType_SignatureProperty_currArrayIndex++]); + } + grammarID = 61; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 60: + /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ + if (v2gSignaturePropertiesType_SignatureProperty_currArrayIndex < v2gSignaturePropertiesType->SignatureProperty.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array [v2gSignaturePropertiesType_SignatureProperty_currArrayIndex++]); + } + grammarID = 61; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 61: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ + if (v2gSignaturePropertiesType_SignatureProperty_currArrayIndex < v2gSignaturePropertiesType->SignatureProperty.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSignaturePropertyType(stream, &v2gSignaturePropertiesType->SignatureProperty.array [v2gSignaturePropertiesType_SignatureProperty_currArrayIndex++]); + } + grammarID = 61; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gMagneticVectorSetupListType(bitstream_t* stream, struct v2gMagneticVectorSetupListType* v2gMagneticVectorSetupListType) { + int grammarID = 62; + int done = 0; + + unsigned int v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 62: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup)] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 63; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 63: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 64; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 64: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 65; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 65: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 66; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 66: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 67; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 67: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 68; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 68: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 69; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 69: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 70; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 70: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 71; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 71: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 72; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 72: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 73; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 73: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 74; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 74: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 75; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 75: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 76; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 76: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 77; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 77: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 78; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 78: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 79; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 79: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 80; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 80: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 81; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 81: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 82; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 82: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 83; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 83: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 84; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 84: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 85; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 85: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 86; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 86: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 87; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 87: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 88; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 88: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 89; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 89: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 90; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 90: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 91; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 91: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 92; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 92: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 93; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 93: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 94; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 94: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 95; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 95: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 96; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 96: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 97; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 97: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 98; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 98: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 99; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 99: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 100; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 100: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 101; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 101: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 102; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 102: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 103; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 103: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 104; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 104: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 105; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 105: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 106; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 106: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 107; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 107: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 108; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 108: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 109; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 109: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 110; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 110: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 111; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 111: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 112; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 112: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 113; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 113: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 114; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 114: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 115; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 115: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 116; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 116: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 117; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 117: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 118; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 118: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 119; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 119: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 120; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 120: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 121; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 121: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 122; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 122: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 123; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 123: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 124; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 124: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 125; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 125: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 126; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 126: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 127; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 127: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 128; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 128: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 129; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 129: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 130; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 130: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 131; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 131: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 132; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 132: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 133; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 133: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 134; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 134: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 135; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 135: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 136; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 136: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 137; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 137: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 138; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 138: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 139; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 139: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 140; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 140: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 141; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 141: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 142; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 142: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 143; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 143: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 144; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 144: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 145; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 145: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 146; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 146: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 147; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 147: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 148; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 148: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 149; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 149: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 150; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 150: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 151; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 151: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 152; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 152: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 153; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 153: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 154; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 154: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 155; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 155: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 156; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 156: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 157; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 157: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 158; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 158: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 159; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 159: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 160; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 160: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 161; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 161: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 162; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 162: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 163; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 163: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 164; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 164: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 165; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 165: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 166; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 166: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 167; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 167: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 168; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 168: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 169; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 169: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 170; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 170: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 171; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 171: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 172; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 172: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 173; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 173: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 174; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 174: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 175; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 175: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 176; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 176: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 177; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 177: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 178; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 178: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 179; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 179: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 180; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 180: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 181; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 181: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 182; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 182: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 183; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 183: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 184; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 184: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 185; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 185: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 186; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 186: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 187; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 187: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 188; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 188: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 189; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 189: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 190; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 190: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 191; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 191: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 192; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 192: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 193; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 193: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 194; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 194: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 195; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 195: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 196; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 196: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 197; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 197: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 198; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 198: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 199; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 199: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 200; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 200: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 201; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 201: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 202; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 202: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 203; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 203: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 204; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 204: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 205; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 205: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 206; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 206: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 207; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 207: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 208; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 208: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 209; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 209: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 210; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 210: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 211; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 211: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 212; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 212: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 213; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 213: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 214; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 214: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 215; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 215: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 216; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 216: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 217; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 217: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 218; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 218: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 219; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 219: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 220; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 220: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 221; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 221: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 222; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 222: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 223; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 223: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 224; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 224: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 225; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 225: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 226; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 226: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 227; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 227: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 228; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 228: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 229; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 229: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 230; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 230: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 231; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 231: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 232; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 232: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 233; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 233: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 234; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 234: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 235; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 235: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 236; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 236: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 237; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 237: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 238; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 238: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 239; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 239: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 240; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 240: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 241; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 241: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 242; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 242: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 243; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 243: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 244; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 244: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 245; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 245: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 246; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 246: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 247; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 247: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 248; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 248: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 249; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 249: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 250; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 250: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 251; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 251: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 252; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 252: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 253; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 253: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 254; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 254: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 255; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 255: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 256; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 256: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 257; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 257: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 258; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 258: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 259; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 259: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 260; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 260: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 261; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 261: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 262; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 262: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 263; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 263: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 264; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 264: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 265; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 265: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 266; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 266: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 267; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 267: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 268; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 268: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 269; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 269: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 270; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 270: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 271; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 271: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 272; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 272: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 273; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 273: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 274; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 274: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 275; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 275: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 276; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 276: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 277; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 277: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 278; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 278: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 279; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 279: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 280; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 280: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 281; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 281: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 282; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 282: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 283; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 283: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 284; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 284: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 285; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 285: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 286; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 286: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 287; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 287: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 288; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 288: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 289; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 289: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 290; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 290: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 291; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 291: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 292; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 292: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 293; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 293: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 294; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 294: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 295; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 295: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 296; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 296: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 297; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 297: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 298; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 298: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 299; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 299: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 300; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 300: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 301; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 301: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 302; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 302: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 303; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 303: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 304; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 304: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 305; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 305: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); } grammarID = 306; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; case 306: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ - if (v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex < v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen ) { + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { - errn = encode_v2gPMaxScheduleEntryType(stream, &v2gPMaxScheduleType->PMaxScheduleEntry.array [v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); } - grammarID = 306; + grammarID = 307; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,ChargeParameterDiscoveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgBody":EVSEProcessing,"urn:iso:15118:2:2013:MsgDataTypes":SASchedules{0-1},"urn:iso:15118:2:2013:MsgDataTypes":EVSEChargeParameter)', derivedBy='EXTENSION'. */ -static int encode_v2gChargeParameterDiscoveryResType(bitstream_t* stream, struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType) { - int grammarID = 307; - int done = 0; - - - while(!done) { - switch(grammarID) { case 307: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gChargeParameterDiscoveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); } grammarID = 308; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; case 308: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, v2gChargeParameterDiscoveryResType->EVSEProcessing); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); } grammarID = 309; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 309: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter)] */ - if ( v2gChargeParameterDiscoveryResType->SAScheduleList_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 0); - if(errn == 0) { - errn = encode_v2gSAScheduleListType(stream, &v2gChargeParameterDiscoveryResType->SAScheduleList ); - } - grammarID = 310; - } else if ( v2gChargeParameterDiscoveryResType->SASchedules_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 1); - if(errn == 0) { - errn = encode_v2gSASchedulesType(stream, &v2gChargeParameterDiscoveryResType->SASchedules ); - } - grammarID = 310; - } else if ( v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 2); - if(errn == 0) { - errn = encode_v2gAC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 5; - } else if ( v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 3); - if(errn == 0) { - errn = encode_v2gDC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 5; - } else if ( v2gChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 3, 4); - if(errn == 0) { - errn = encode_v2gEVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->EVSEChargeParameter ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 310: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter)] */ - if ( v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gAC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); - } - grammarID = 5; - } else if ( v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gDC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); - } - grammarID = 5; - } else if ( v2gChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_v2gEVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->EVSEChargeParameter ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgBody,PowerDeliveryResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -static int encode_v2gPowerDeliveryResType(bitstream_t* stream, struct v2gPowerDeliveryResType* v2gPowerDeliveryResType) { - int grammarID = 311; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 311: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gPowerDeliveryResType->ResponseCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 312; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 312: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus)] */ - if ( v2gPowerDeliveryResType->AC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gAC_EVSEStatusType(stream, &v2gPowerDeliveryResType->AC_EVSEStatus ); - } - grammarID = 5; - } else if ( v2gPowerDeliveryResType->DC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gDC_EVSEStatusType(stream, &v2gPowerDeliveryResType->DC_EVSEStatus ); - } - grammarID = 5; - } else if ( v2gPowerDeliveryResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_v2gEVSEStatusType(stream, &v2gPowerDeliveryResType->EVSEStatus ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: - /* Element[END_ELEMENT] */ - if (1==1) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - done = 1; - } - grammarID = 1; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - default: - errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; - break; - } - if(errn) { - done = 1; - } - } - return errn; -} - -/* Complex type name='urn:iso:15118:2:2013:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2013:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2013:MsgDataTypes":SalesTariff{0-1})', derivedBy='RESTRICTION'. */ -static int encode_v2gSAScheduleTupleType(bitstream_t* stream, struct v2gSAScheduleTupleType* v2gSAScheduleTupleType) { - int grammarID = 313; - int done = 0; - - - while(!done) { - switch(grammarID) { - case 313: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSAScheduleTupleType->SAScheduleTupleID - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - grammarID = 314; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 314: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule)] */ - if ( 1 == 1 ) { - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encode_v2gPMaxScheduleType(stream, &v2gSAScheduleTupleType->PMaxSchedule ); - } - grammarID = 315; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 315: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff), END_ELEMENT] */ - if ( v2gSAScheduleTupleType->SalesTariff_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->SalesTariff ); - } - grammarID = 5; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 5: + case 309: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 310; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 310: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 311; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 311: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 312; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 312: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 313; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 313: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 314; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 314: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 315; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 315: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 316; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 316: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ + if (v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex < v2gMagneticVectorSetupListType->MagneticVectorSetup.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &v2gMagneticVectorSetupListType->MagneticVectorSetup.array [v2gMagneticVectorSetupListType_MagneticVectorSetup_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ +static int encode_v2gSensorMeasurementsType(bitstream_t* stream, struct v2gSensorMeasurementsType* v2gSensorMeasurementsType) { + int grammarID = 317; + int done = 0; + + unsigned int v2gSensorMeasurementsType_MeasurementData_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 317: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSensorMeasurementsType->SensorID - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 318; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 318: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSensorMeasurementsType->EffectiveRadiatedPower + 128)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 319; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 319: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData)] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 320; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 320: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 321; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 321: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 322; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 322: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 323; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 323: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 324; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 324: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 325; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 325: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 326; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 326: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 327; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 327: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 328; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 328: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 329; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 329: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 330; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 330: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 331; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 331: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 332; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 332: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 333; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 333: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 334; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 334: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 335; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 335: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 336; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 336: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 337; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 337: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 338; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 338: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 339; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 339: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 340; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 340: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 341; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 341: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 342; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 342: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 343; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 343: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 344; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 344: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 345; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 345: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 346; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 346: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 347; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 347: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 348; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 348: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 349; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 349: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 350; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 350: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 351; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 351: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 352; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 352: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 353; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 353: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 354; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 354: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 355; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 355: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 356; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 356: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 357; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 357: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 358; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 358: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 359; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 359: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 360; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 360: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 361; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 361: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 362; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 362: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 363; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 363: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 364; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 364: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 365; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 365: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 366; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 366: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 367; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 367: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 368; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 368: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 369; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 369: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 370; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 370: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 371; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 371: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 372; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 372: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 373; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 373: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 374; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 374: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 375; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 375: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 376; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 376: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 377; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 377: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 378; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 378: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 379; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 379: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 380; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 380: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 381; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 381: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 382; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 382: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 383; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 383: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 384; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 384: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 385; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 385: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 386; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 386: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 387; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 387: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 388; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 388: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 389; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 389: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 390; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 390: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 391; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 391: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 392; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 392: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 393; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 393: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 394; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 394: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 395; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 395: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 396; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 396: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 397; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 397: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 398; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 398: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 399; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 399: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 400; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 400: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 401; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 401: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 402; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 402: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 403; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 403: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 404; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 404: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 405; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 405: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 406; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 406: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 407; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 407: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 408; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 408: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 409; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 409: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 410; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 410: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 411; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 411: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 412; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 412: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 413; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 413: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 414; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 414: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 415; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 415: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 416; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 416: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 417; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 417: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 418; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 418: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 419; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 419: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 420; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 420: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 421; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 421: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 422; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 422: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 423; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 423: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 424; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 424: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 425; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 425: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 426; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 426: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 427; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 427: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 428; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 428: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 429; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 429: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 430; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 430: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 431; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 431: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 432; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 432: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 433; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 433: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 434; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 434: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 435; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 435: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 436; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 436: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 437; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 437: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 438; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 438: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 439; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 439: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 440; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 440: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 441; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 441: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 442; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 442: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 443; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 443: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 444; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 444: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 445; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 445: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 446; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 446: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 447; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 447: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 448; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 448: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 449; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 449: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 450; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 450: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 451; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 451: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 452; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 452: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 453; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 453: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 454; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 454: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 455; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 455: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 456; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 456: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 457; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 457: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 458; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 458: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 459; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 459: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 460; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 460: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 461; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 461: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 462; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 462: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 463; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 463: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 464; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 464: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 465; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 465: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 466; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 466: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 467; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 467: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 468; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 468: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 469; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 469: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 470; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 470: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 471; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 471: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 472; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 472: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 473; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 473: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 474; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 474: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 475; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 475: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 476; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 476: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 477; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 477: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 478; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 478: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 479; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 479: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 480; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 480: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 481; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 481: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 482; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 482: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 483; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 483: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 484; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 484: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 485; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 485: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 486; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 486: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 487; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 487: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 488; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 488: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 489; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 489: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 490; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 490: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 491; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 491: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 492; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 492: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 493; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 493: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 494; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 494: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 495; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 495: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 496; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 496: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 497; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 497: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 498; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 498: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 499; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 499: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 500; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 500: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 501; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 501: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 502; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 502: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 503; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 503: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 504; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 504: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 505; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 505: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 506; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 506: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 507; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 507: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 508; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 508: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 509; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 509: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 510; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 510: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 511; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 511: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 512; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 512: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 513; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 513: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 514; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 514: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 515; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 515: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 516; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 516: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 517; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 517: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 518; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 518: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 519; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 519: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 520; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 520: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 521; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 521: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 522; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 522: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 523; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 523: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 524; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 524: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 525; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 525: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 526; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 526: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 527; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 527: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 528; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 528: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 529; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 529: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 530; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 530: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 531; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 531: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 532; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 532: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 533; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 533: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 534; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 534: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 535; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 535: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 536; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 536: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 537; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 537: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 538; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 538: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 539; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 539: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 540; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 540: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 541; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 541: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 542; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 542: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 543; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 543: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 544; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 544: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 545; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 545: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 546; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 546: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 547; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 547: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 548; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 548: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 549; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 549: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 550; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 550: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 551; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 551: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 552; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 552: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 553; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 553: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 554; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 554: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 555; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 555: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 556; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 556: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 557; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 557: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 558; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 558: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 559; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 559: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 560; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 560: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 561; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 561: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 562; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 562: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 563; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 563: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 564; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 564: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 565; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 565: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 566; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 566: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 567; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 567: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 568; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 568: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 569; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 569: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 570; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 570: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 571; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 571: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 572; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 572: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 573; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 573: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ + if (v2gSensorMeasurementsType_MeasurementData_currArrayIndex < v2gSensorMeasurementsType->MeasurementData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSensorMeasurementsType->MeasurementData.array[v2gSensorMeasurementsType_MeasurementData_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAC_EVSEBidirectionalParameterType(bitstream_t* stream, struct v2gAC_EVSEBidirectionalParameterType* v2gAC_EVSEBidirectionalParameterType) { + int grammarID = 574; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 574: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent ); + } + grammarID = 575; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 575: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSENominalVoltage ); + } + grammarID = 576; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 576: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSENominalFrequency ); + } + grammarID = 577; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 577: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent ); + } + grammarID = 578; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 578: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEBidirectionalParameterType->EVSENominalFrequency ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gConsumptionCostType(bitstream_t* stream, struct v2gConsumptionCostType* v2gConsumptionCostType) { + int grammarID = 579; + int done = 0; + + unsigned int v2gConsumptionCostType_Cost_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 579: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gConsumptionCostType->startValue ); + } + grammarID = 580; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 580: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost)] */ + if (v2gConsumptionCostType_Cost_currArrayIndex < v2gConsumptionCostType->Cost.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array [v2gConsumptionCostType_Cost_currArrayIndex++]); + } + grammarID = 581; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 581: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ + if (v2gConsumptionCostType_Cost_currArrayIndex < v2gConsumptionCostType->Cost.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array [v2gConsumptionCostType_Cost_currArrayIndex++]); + } + grammarID = 582; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 582: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ + if (v2gConsumptionCostType_Cost_currArrayIndex < v2gConsumptionCostType->Cost.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gCostType(stream, &v2gConsumptionCostType->Cost.array [v2gConsumptionCostType_Cost_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAuthorizationResType(bitstream_t* stream, struct v2gAuthorizationResType* v2gAuthorizationResType) { + int grammarID = 583; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 583: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gAuthorizationResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 584; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 584: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gAuthorizationResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gAuthorizationResType->EVSEStatus ); + } + grammarID = 585; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gAuthorizationResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 585: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gAuthorizationResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gGeneric_EVFinePositioningParametersType(bitstream_t* stream, struct v2gGeneric_EVFinePositioningParametersType* v2gGeneric_EVFinePositioningParametersType) { + int grammarID = 586; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 586: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gGeneric_EVFinePositioningParametersType->GenericParameters ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gEVSEStatusType(bitstream_t* stream, struct v2gEVSEStatusType* v2gEVSEStatusType) { + int grammarID = 587; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 587: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gEVSEStatusType->NotificationMaxDelay); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 588; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 588: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gEVSEStatusType->EVSENotification); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gX509IssuerSerialType(bitstream_t* stream, struct v2gX509IssuerSerialType* v2gX509IssuerSerialType) { + int grammarID = 589; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 589: + /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509IssuerSerialType->X509IssuerName.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gX509IssuerSerialType->X509IssuerName.characters, v2gX509IssuerSerialType->X509IssuerName.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 590; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 590: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger64(stream, v2gX509IssuerSerialType->X509SerialNumber); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAC_EVBidirectionalParameterType(bitstream_t* stream, struct v2gAC_EVBidirectionalParameterType* v2gAC_EVBidirectionalParameterType) { + int grammarID = 591; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 591: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gAC_EVBidirectionalParameterType->DepartureTime); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 592; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 592: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumChargePower ); + } + grammarID = 593; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 593: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); + } + grammarID = 594; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 594: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumChargeCurrent ); + } + grammarID = 595; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 595: + /* 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)] */ + if ( v2gAC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVTargetEnergyRequest ); + } + grammarID = 596; + } else if ( v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); + } + grammarID = 597; + } else if ( v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); + } + grammarID = 598; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumVoltage ); + } + grammarID = 599; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 596: + /* 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)] */ + if ( v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); + } + grammarID = 597; + } else if ( v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); + } + grammarID = 598; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumVoltage ); + } + grammarID = 599; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 597: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + if ( v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); + } + grammarID = 598; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumVoltage ); + } + grammarID = 599; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 598: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumVoltage ); + } + grammarID = 599; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 599: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumDischargePower ); + } + grammarID = 600; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 600: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 601; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 601: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVBidirectionalParameterType->EVMinimumDischargeCurrent ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gEVFinePositioningSetupParametersType(bitstream_t* stream, struct v2gEVFinePositioningSetupParametersType* v2gEVFinePositioningSetupParametersType) { + int grammarID = 4; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gMV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gMV_EVSEFinePositioningSetupParametersType* v2gMV_EVSEFinePositioningSetupParametersType) { + int grammarID = 602; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 602: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ + if ( v2gMV_EVSEFinePositioningSetupParametersType->FrequencyChannel_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gMV_EVSEFinePositioningSetupParametersType->FrequencyChannel); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 603; + } else if ( v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupListType(stream, &v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 603: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ + if ( v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupListType(stream, &v2gMV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gMeteringReceiptReqType(bitstream_t* stream, struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType) { + int grammarID = 604; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 604: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMeteringReceiptReqType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gMeteringReceiptReqType->Id.characters, v2gMeteringReceiptReqType->Id.charactersLen); + } + } + grammarID = 605; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 605: + /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMeteringReceiptReqType->SessionID.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gMeteringReceiptReqType->SessionID.bytes, v2gMeteringReceiptReqType->SessionID.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 606; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 606: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ + if ( v2gMeteringReceiptReqType->SAScheduleTupleID_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gMeteringReceiptReqType->SAScheduleTupleID - 1)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 607; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gMeteringReceiptReqType->MeterInfo ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 607: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gMeteringReceiptReqType->MeterInfo ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAuthorizationReqType(bitstream_t* stream, struct v2gAuthorizationReqType* v2gAuthorizationReqType) { + int grammarID = 608; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 608: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ + if ( v2gAuthorizationReqType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gAuthorizationReqType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gAuthorizationReqType->Id.characters, v2gAuthorizationReqType->Id.charactersLen); + } + } + grammarID = 609; + } else if ( v2gAuthorizationReqType->GenChallenge_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gAuthorizationReqType->GenChallenge.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gAuthorizationReqType->GenChallenge.bytes, v2gAuthorizationReqType->GenChallenge.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 609: + /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ + if ( v2gAuthorizationReqType->GenChallenge_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gAuthorizationReqType->GenChallenge.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gAuthorizationReqType->GenChallenge.bytes, v2gAuthorizationReqType->GenChallenge.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gChargingStatusReqType(bitstream_t* stream, struct v2gChargingStatusReqType* v2gChargingStatusReqType) { + int grammarID = 610; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 610: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVTargetEnergyRequest ); + } + grammarID = 611; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 611: + /* 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] */ + if ( v2gChargingStatusReqType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumEnergyRequest ); + } + grammarID = 612; + } else if ( v2gChargingStatusReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumEnergyRequest ); + } + grammarID = 613; + } else if ( v2gChargingStatusReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gChargingStatusReqType->DisplayParameters ); + } + grammarID = 614; + } else if ( v2gChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargePower ); + } + grammarID = 615; + } else if ( v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent ); + } + grammarID = 616; + } else if ( v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 6); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 612: + /* 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] */ + if ( v2gChargingStatusReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumEnergyRequest ); + } + grammarID = 613; + } else if ( v2gChargingStatusReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gChargingStatusReqType->DisplayParameters ); + } + grammarID = 614; + } else if ( v2gChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargePower ); + } + grammarID = 615; + } else if ( v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent ); + } + grammarID = 616; + } else if ( v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 613: + /* 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] */ + if ( v2gChargingStatusReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gChargingStatusReqType->DisplayParameters ); + } + grammarID = 614; + } else if ( v2gChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargePower ); + } + grammarID = 615; + } else if ( v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent ); + } + grammarID = 616; + } else if ( v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 614: + /* 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] */ + if ( v2gChargingStatusReqType->EVMaximumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargePower ); + } + grammarID = 615; + } else if ( v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent ); + } + grammarID = 616; + } else if ( v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 615: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ + if ( v2gChargingStatusReqType->EVMaximumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMaximumChargeCurrent ); + } + grammarID = 616; + } else if ( v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 616: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ + if ( v2gChargingStatusReqType->EVMinimumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusReqType->EVMinimumChargeCurrent ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gManifestType(bitstream_t* stream, struct v2gManifestType* v2gManifestType) { + int grammarID = 617; + int done = 0; + + unsigned int v2gManifestType_Reference_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 617: + /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ + if ( v2gManifestType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gManifestType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gManifestType->Id.characters, v2gManifestType->Id.charactersLen); + } + } + grammarID = 618; + } else if (v2gManifestType_Reference_currArrayIndex < v2gManifestType->Reference.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gReferenceType(stream, &v2gManifestType->Reference.array [v2gManifestType_Reference_currArrayIndex++]); + } + grammarID = 619; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 618: + /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ + if (v2gManifestType_Reference_currArrayIndex < v2gManifestType->Reference.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gReferenceType(stream, &v2gManifestType->Reference.array [v2gManifestType_Reference_currArrayIndex++]); + } + grammarID = 619; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 619: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ + if (v2gManifestType_Reference_currArrayIndex < v2gManifestType->Reference.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gReferenceType(stream, &v2gManifestType->Reference.array [v2gManifestType_Reference_currArrayIndex++]); + } + grammarID = 619; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSensorType(bitstream_t* stream, struct v2gSensorType* v2gSensorType) { + int grammarID = 620; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 620: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSensorType->SensorID - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 621; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 621: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gCartesianCoordinatesType(stream, &v2gSensorType->SensorPosition ); + } + grammarID = 622; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 622: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gCartesianCoordinatesType(stream, &v2gSensorType->SensorOrientation ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAC_EVChargeParameterType(bitstream_t* stream, struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType) { + int grammarID = 623; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 623: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gAC_EVChargeParameterType->DepartureTime); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 624; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 624: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumChargePower ); + } + grammarID = 625; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 625: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumChargeCurrent ); + } + grammarID = 626; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 626: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinimumChargeCurrent ); + } + grammarID = 627; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 627: + /* 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)] */ + if ( v2gAC_EVChargeParameterType->EVTargetEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVTargetEnergyRequest ); + } + grammarID = 628; + } else if ( v2gAC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumEnergyRequest ); + } + grammarID = 629; + } else if ( v2gAC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinimumEnergyRequest ); + } + grammarID = 630; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumVoltage ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 628: + /* 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)] */ + if ( v2gAC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumEnergyRequest ); + } + grammarID = 629; + } else if ( v2gAC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinimumEnergyRequest ); + } + grammarID = 630; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumVoltage ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 629: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + if ( v2gAC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMinimumEnergyRequest ); + } + grammarID = 630; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumVoltage ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 630: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVChargeParameterType->EVMaximumVoltage ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gMagneticVectorListType(bitstream_t* stream, struct v2gMagneticVectorListType* v2gMagneticVectorListType) { + int grammarID = 631; + int done = 0; + + unsigned int v2gMagneticVectorListType_MagneticVector_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 631: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector)] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 632; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 632: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 633; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 633: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 634; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 634: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 635; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 635: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 636; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 636: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 637; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 637: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 638; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 638: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 639; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 639: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 640; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 640: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 641; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 641: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 642; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 642: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 643; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 643: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 644; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 644: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 645; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 645: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 646; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 646: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 647; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 647: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 648; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 648: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 649; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 649: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 650; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 650: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 651; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 651: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 652; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 652: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 653; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 653: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 654; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 654: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 655; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 655: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 656; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 656: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 657; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 657: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 658; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 658: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 659; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 659: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 660; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 660: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 661; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 661: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 662; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 662: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 663; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 663: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 664; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 664: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 665; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 665: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 666; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 666: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 667; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 667: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 668; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 668: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 669; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 669: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 670; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 670: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 671; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 671: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 672; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 672: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 673; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 673: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 674; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 674: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 675; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 675: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 676; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 676: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 677; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 677: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 678; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 678: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 679; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 679: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 680; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 680: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 681; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 681: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 682; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 682: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 683; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 683: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 684; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 684: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 685; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 685: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 686; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 686: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 687; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 687: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 688; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 688: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 689; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 689: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 690; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 690: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 691; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 691: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 692; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 692: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 693; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 693: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 694; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 694: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 695; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 695: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 696; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 696: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 697; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 697: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 698; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 698: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 699; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 699: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 700; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 700: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 701; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 701: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 702; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 702: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 703; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 703: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 704; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 704: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 705; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 705: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 706; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 706: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 707; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 707: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 708; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 708: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 709; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 709: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 710; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 710: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 711; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 711: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 712; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 712: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 713; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 713: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 714; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 714: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 715; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 715: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 716; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 716: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 717; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 717: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 718; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 718: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 719; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 719: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 720; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 720: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 721; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 721: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 722; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 722: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 723; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 723: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 724; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 724: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 725; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 725: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 726; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 726: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 727; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 727: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 728; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 728: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 729; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 729: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 730; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 730: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 731; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 731: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 732; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 732: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 733; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 733: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 734; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 734: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 735; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 735: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 736; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 736: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 737; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 737: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 738; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 738: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 739; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 739: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 740; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 740: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 741; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 741: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 742; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 742: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 743; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 743: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 744; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 744: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 745; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 745: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 746; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 746: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 747; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 747: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 748; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 748: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 749; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 749: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 750; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 750: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 751; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 751: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 752; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 752: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 753; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 753: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 754; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 754: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 755; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 755: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 756; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 756: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 757; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 757: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 758; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 758: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 759; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 759: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 760; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 760: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 761; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 761: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 762; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 762: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 763; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 763: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 764; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 764: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 765; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 765: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 766; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 766: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 767; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 767: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 768; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 768: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 769; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 769: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 770; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 770: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 771; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 771: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 772; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 772: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 773; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 773: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 774; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 774: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 775; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 775: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 776; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 776: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 777; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 777: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 778; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 778: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 779; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 779: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 780; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 780: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 781; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 781: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 782; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 782: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 783; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 783: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 784; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 784: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 785; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 785: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 786; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 786: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 787; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 787: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 788; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 788: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 789; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 789: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 790; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 790: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 791; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 791: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 792; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 792: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 793; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 793: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 794; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 794: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 795; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 795: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 796; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 796: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 797; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 797: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 798; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 798: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 799; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 799: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 800; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 800: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 801; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 801: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 802; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 802: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 803; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 803: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 804; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 804: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 805; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 805: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 806; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 806: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 807; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 807: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 808; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 808: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 809; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 809: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 810; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 810: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 811; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 811: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 812; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 812: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 813; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 813: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 814; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 814: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 815; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 815: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 816; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 816: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 817; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 817: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 818; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 818: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 819; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 819: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 820; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 820: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 821; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 821: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 822; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 822: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 823; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 823: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 824; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 824: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 825; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 825: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 826; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 826: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 827; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 827: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 828; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 828: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 829; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 829: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 830; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 830: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 831; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 831: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 832; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 832: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 833; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 833: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 834; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 834: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 835; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 835: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 836; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 836: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 837; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 837: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 838; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 838: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 839; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 839: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 840; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 840: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 841; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 841: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 842; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 842: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 843; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 843: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 844; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 844: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 845; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 845: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 846; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 846: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 847; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 847: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 848; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 848: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 849; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 849: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 850; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 850: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 851; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 851: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 852; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 852: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 853; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 853: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 854; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 854: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 855; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 855: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 856; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 856: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 857; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 857: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 858; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 858: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 859; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 859: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 860; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 860: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 861; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 861: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 862; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 862: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 863; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 863: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 864; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 864: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 865; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 865: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 866; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 866: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 867; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 867: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 868; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 868: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 869; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 869: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 870; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 870: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 871; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 871: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 872; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 872: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 873; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 873: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 874; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 874: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 875; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 875: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 876; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 876: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 877; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 877: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 878; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 878: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 879; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 879: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 880; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 880: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 881; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 881: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 882; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 882: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 883; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 883: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 884; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 884: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 885; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 885: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ + if (v2gMagneticVectorListType_MagneticVector_currArrayIndex < v2gMagneticVectorListType->MagneticVector.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &v2gMagneticVectorListType->MagneticVector.array [v2gMagneticVectorListType_MagneticVector_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAlignmentCheckReqType(bitstream_t* stream, struct v2gAlignmentCheckReqType* v2gAlignmentCheckReqType) { + int grammarID = 886; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 886: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gAlignmentCheckReqType->EVProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 8; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 8: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ + if ( v2gAlignmentCheckReqType->AlignmentCheckParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gAlignmentCheckReqType->AlignmentCheckParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + default: + errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; + break; + } + if(errn) { + done = 1; + } + } + return errn; +} + +/* Complex type name='urn:iso:15118:2:2016:MsgBody,EVSEErrorInformationType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ErrorCode)', derivedBy='EXTENSION'. */ +static int encode_v2gEVSEErrorInformationType(bitstream_t* stream, struct v2gEVSEErrorInformationType* v2gEVSEErrorInformationType) { + int grammarID = 887; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 887: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 3, v2gEVSEErrorInformationType->ErrorCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gWPT_EVSEChargeParameterType(bitstream_t* stream, struct v2gWPT_EVSEChargeParameterType* v2gWPT_EVSEChargeParameterType) { + int grammarID = 888; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 888: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVSEChargeParameterType->EVSEMaximumPower ); + } + grammarID = 889; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 889: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVSEChargeParameterType->EVSEMinimumPower ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDisplayParametersType(bitstream_t* stream, struct v2gDisplayParametersType* v2gDisplayParametersType) { + int grammarID = 890; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 890: + /* 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] */ + if ( v2gDisplayParametersType->CurrentRange_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gDisplayParametersType->CurrentRange); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 891; + } else if ( v2gDisplayParametersType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 892; + } else if ( v2gDisplayParametersType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 893; + } else if ( v2gDisplayParametersType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 894; + } else if ( v2gDisplayParametersType->MinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->MinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 895; + } else if ( v2gDisplayParametersType->ChargingPerformance_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance ); + } + grammarID = 896; + } else if ( v2gDisplayParametersType->RemainingTimeToTargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToTargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 897; + } else if ( v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 7); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToBulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 898; + } else if ( v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 8); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 899; + } else if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 9); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 10); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 11); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 4, 12); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 891: + /* 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] */ + if ( v2gDisplayParametersType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 892; + } else if ( v2gDisplayParametersType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 893; + } else if ( v2gDisplayParametersType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 894; + } else if ( v2gDisplayParametersType->MinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->MinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 895; + } else if ( v2gDisplayParametersType->ChargingPerformance_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance ); + } + grammarID = 896; + } else if ( v2gDisplayParametersType->RemainingTimeToTargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToTargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 897; + } else if ( v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToBulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 898; + } else if ( v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 7); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 899; + } else if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 8); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 9); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 10); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 4, 11); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 892: + /* 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] */ + if ( v2gDisplayParametersType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 893; + } else if ( v2gDisplayParametersType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 894; + } else if ( v2gDisplayParametersType->MinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->MinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 895; + } else if ( v2gDisplayParametersType->ChargingPerformance_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance ); + } + grammarID = 896; + } else if ( v2gDisplayParametersType->RemainingTimeToTargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToTargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 897; + } else if ( v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToBulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 898; + } else if ( v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 899; + } else if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 7); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 8); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 9); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 4, 10); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 893: + /* 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] */ + if ( v2gDisplayParametersType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 894; + } else if ( v2gDisplayParametersType->MinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->MinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 895; + } else if ( v2gDisplayParametersType->ChargingPerformance_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance ); + } + grammarID = 896; + } else if ( v2gDisplayParametersType->RemainingTimeToTargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToTargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 897; + } else if ( v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToBulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 898; + } else if ( v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 899; + } else if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 7); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 8); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 4, 9); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 894: + /* 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] */ + if ( v2gDisplayParametersType->MinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->MinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 895; + } else if ( v2gDisplayParametersType->ChargingPerformance_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance ); + } + grammarID = 896; + } else if ( v2gDisplayParametersType->RemainingTimeToTargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToTargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 897; + } else if ( v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToBulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 898; + } else if ( v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 899; + } else if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 7); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 4, 8); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 895: + /* 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] */ + if ( v2gDisplayParametersType->ChargingPerformance_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDisplayParametersType->ChargingPerformance ); + } + grammarID = 896; + } else if ( v2gDisplayParametersType->RemainingTimeToTargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToTargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 897; + } else if ( v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToBulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 898; + } else if ( v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 899; + } else if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 4, 7); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 896: + /* 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] */ + if ( v2gDisplayParametersType->RemainingTimeToTargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToTargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 897; + } else if ( v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToBulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 898; + } else if ( v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 899; + } else if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 6); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 897: + /* 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] */ + if ( v2gDisplayParametersType->RemainingTimeToBulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToBulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 898; + } else if ( v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 899; + } else if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 898: + /* 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] */ + if ( v2gDisplayParametersType->RemainingTimeToMinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDisplayParametersType->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 899; + } else if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 899: + /* 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] */ + if ( v2gDisplayParametersType->ChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 900; + } else if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 900: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ + if ( v2gDisplayParametersType->BulkChargingComplete_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->BulkChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 901; + } else if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 901: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ + if ( v2gDisplayParametersType->InletHot_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDisplayParametersType->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSignatureMethodType(bitstream_t* stream, struct v2gSignatureMethodType* v2gSignatureMethodType) { + int grammarID = 902; + int done = 0; + int wcDone = 0; + + + while(!done) { + switch(grammarID) { + case 902: + /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureMethodType->Algorithm.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignatureMethodType->Algorithm.characters, v2gSignatureMethodType->Algorithm.charactersLen); + } + } + grammarID = 903; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 903: + /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if ( v2gSignatureMethodType->HMACOutputLength_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger64(stream, v2gSignatureMethodType->HMACOutputLength); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 904; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gSignatureMethodType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gSignatureMethodType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureMethodType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignatureMethodType->ANY.characters, v2gSignatureMethodType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 905; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 904: + /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gSignatureMethodType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gSignatureMethodType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureMethodType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignatureMethodType->ANY.characters, v2gSignatureMethodType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 905: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if ( v2gSignatureMethodType->HMACOutputLength_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger64(stream, v2gSignatureMethodType->HMACOutputLength); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 904; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gSignatureMethodType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gSignatureMethodType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignatureMethodType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignatureMethodType->ANY.characters, v2gSignatureMethodType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 905; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gTargetPositionType(bitstream_t* stream, struct v2gTargetPositionType* v2gTargetPositionType) { + int grammarID = 906; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 906: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gTargetPositionType->TargetOffsetX); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 907; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 907: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gTargetPositionType->TargetOffsetY); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gEVFinePositioningParametersType(bitstream_t* stream, struct v2gEVFinePositioningParametersType* v2gEVFinePositioningParametersType) { + int grammarID = 4; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gVehicleCheckOutReqType(bitstream_t* stream, struct v2gVehicleCheckOutReqType* v2gVehicleCheckOutReqType) { + int grammarID = 908; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 908: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gVehicleCheckOutReqType->EVCheckOutStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 909; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 909: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger64(stream, v2gVehicleCheckOutReqType->CheckOutTime); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gFinePositioningSetupResType(bitstream_t* stream, struct v2gFinePositioningSetupResType* v2gFinePositioningSetupResType) { + int grammarID = 910; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 910: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gFinePositioningSetupResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 911; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 911: + /* 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] */ + if ( v2gFinePositioningSetupResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gFinePositioningSetupResType->EVSEStatus ); + } + grammarID = 912; + } else if ( v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gEVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters ); + } + grammarID = 2; + } else if ( v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gLFA_EVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters ); + } + grammarID = 2; + } else if ( v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gMV_EVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 912: + /* 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] */ + if ( v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gEVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->EVSEFinePositioningSetupParameters ); + } + grammarID = 2; + } else if ( v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gLFA_EVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters ); + } + grammarID = 2; + } else if ( v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gMV_EVSEFinePositioningSetupParametersType(stream, &v2gFinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSAScheduleListType(bitstream_t* stream, struct v2gSAScheduleListType* v2gSAScheduleListType) { + int grammarID = 913; + int done = 0; + + unsigned int v2gSAScheduleListType_SAScheduleTuple_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 913: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple)] */ + if (v2gSAScheduleListType_SAScheduleTuple_currArrayIndex < v2gSAScheduleListType->SAScheduleTuple.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array [v2gSAScheduleListType_SAScheduleTuple_currArrayIndex++]); + } + grammarID = 914; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 914: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ + if (v2gSAScheduleListType_SAScheduleTuple_currArrayIndex < v2gSAScheduleListType->SAScheduleTuple.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array [v2gSAScheduleListType_SAScheduleTuple_currArrayIndex++]); + } + grammarID = 915; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 915: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ + if (v2gSAScheduleListType_SAScheduleTuple_currArrayIndex < v2gSAScheduleListType->SAScheduleTuple.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSAScheduleTupleType(stream, &v2gSAScheduleListType->SAScheduleTuple.array [v2gSAScheduleListType_SAScheduleTuple_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSystemStatusReqType(bitstream_t* stream, struct v2gSystemStatusReqType* v2gSystemStatusReqType) { + int grammarID = 916; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 916: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gSystemStatusReqType->OperationMode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 917; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 917: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gSystemStatusReqType->EVMechanicalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCertificateChainType(bitstream_t* stream, struct v2gCertificateChainType* v2gCertificateChainType) { + int grammarID = 918; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 918: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ + if ( v2gCertificateChainType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateChainType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCertificateChainType->Id.characters, v2gCertificateChainType->Id.charactersLen); + } + } + grammarID = 919; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateChainType->Certificate.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gCertificateChainType->Certificate.bytes, v2gCertificateChainType->Certificate.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 920; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 919: + /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateChainType->Certificate.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gCertificateChainType->Certificate.bytes, v2gCertificateChainType->Certificate.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 920; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 920: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), END_ELEMENT] */ + if ( v2gCertificateChainType->SubCertificates_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSubCertificatesType(stream, &v2gCertificateChainType->SubCertificates ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCostType(bitstream_t* stream, struct v2gCostType* v2gCostType) { + int grammarID = 921; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 921: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gCostType->costKind); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 922; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 922: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCostType->amount ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gServiceType(bitstream_t* stream, struct v2gServiceType* v2gServiceType) { + int grammarID = 923; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 923: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceType->ServiceID); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 924; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 924: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gServiceType->FreeService); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gServiceParameterListType(bitstream_t* stream, struct v2gServiceParameterListType* v2gServiceParameterListType) { + int grammarID = 925; + int done = 0; + + unsigned int v2gServiceParameterListType_ParameterSet_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 925: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet)] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 926; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 926: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 927; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 927: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 928; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 928: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 929; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 929: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 930; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 930: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 931; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 931: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 932; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 932: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 933; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 933: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 934; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 934: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 935; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 935: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 936; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 936: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 937; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 937: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 938; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 938: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 939; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 939: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 940; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 940: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 941; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 941: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 942; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 942: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 943; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 943: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 944; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 944: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 945; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 945: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 946; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 946: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 947; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 947: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 948; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 948: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 949; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 949: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 950; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 950: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 951; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 951: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 952; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 952: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 953; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 953: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 954; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 954: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 955; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 955: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 956; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 956: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 957; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 957: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 958; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 958: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 959; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 959: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 960; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 960: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 961; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 961: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 962; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 962: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 963; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 963: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 964; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 964: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 965; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 965: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 966; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 966: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 967; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 967: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 968; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 968: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 969; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 969: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 970; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 970: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 971; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 971: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 972; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 972: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 973; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 973: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 974; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 974: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 975; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 975: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 976; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 976: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 977; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 977: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 978; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 978: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 979; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 979: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 980; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 980: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 981; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 981: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 982; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 982: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 983; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 983: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 984; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 984: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 985; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 985: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 986; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 986: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 987; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 987: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 988; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 988: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 989; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 989: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 990; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 990: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 991; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 991: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 992; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 992: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 993; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 993: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 994; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 994: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 995; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 995: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 996; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 996: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 997; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 997: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 998; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 998: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 999; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 999: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1000; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1000: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1001; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1001: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1002; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1002: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1003; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1003: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1004; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1004: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1005; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1005: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1006; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1006: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1007; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1007: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1008; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1008: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1009; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1009: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1010; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1010: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1011; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1011: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1012; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1012: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1013; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1013: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1014; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1014: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1015; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1015: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1016; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1016: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1017; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1017: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1018; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1018: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1019; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1019: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1020; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1020: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1021; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1021: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1022; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1022: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1023; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1023: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1024; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1024: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1025; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1025: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1026; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1026: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1027; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1027: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1028; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1028: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1029; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1029: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1030; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1030: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1031; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1031: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1032; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1032: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1033; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1033: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1034; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1034: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1035; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1035: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1036; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1036: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1037; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1037: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1038; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1038: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1039; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1039: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1040; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1040: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1041; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1041: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1042; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1042: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1043; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1043: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1044; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1044: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1045; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1045: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1046; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1046: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1047; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1047: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1048; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1048: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1049; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1049: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1050; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1050: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1051; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1051: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1052; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1052: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1053; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1053: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1054; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1054: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1055; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1055: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1056; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1056: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1057; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1057: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1058; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1058: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1059; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1059: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1060; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1060: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1061; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1061: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1062; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1062: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1063; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1063: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1064; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1064: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1065; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1065: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1066; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1066: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1067; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1067: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1068; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1068: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1069; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1069: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1070; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1070: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1071; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1071: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1072; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1072: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1073; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1073: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1074; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1074: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1075; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1075: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1076; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1076: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1077; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1077: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1078; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1078: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1079; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1079: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1080; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1080: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1081; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1081: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1082; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1082: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1083; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1083: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1084; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1084: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1085; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1085: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1086; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1086: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1087; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1087: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1088; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1088: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1089; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1089: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1090; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1090: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1091; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1091: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1092; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1092: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1093; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1093: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1094; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1094: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1095; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1095: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1096; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1096: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1097; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1097: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1098; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1098: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1099; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1099: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1100; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1100: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1101; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1101: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1102; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1102: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1103; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1103: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1104; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1104: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1105; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1105: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1106; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1106: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1107; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1107: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1108; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1108: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1109; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1109: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1110; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1110: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1111; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1111: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1112; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1112: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1113; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1113: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1114; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1114: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1115; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1115: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1116; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1116: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1117; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1117: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1118; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1118: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1119; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1119: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1120; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1120: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1121; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1121: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1122; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1122: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1123; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1123: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1124; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1124: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1125; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1125: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1126; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1126: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1127; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1127: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1128; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1128: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1129; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1129: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1130; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1130: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1131; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1131: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1132; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1132: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1133; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1133: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1134; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1134: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1135; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1135: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1136; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1136: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1137; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1137: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1138; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1138: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1139; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1139: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1140; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1140: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1141; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1141: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1142; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1142: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1143; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1143: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1144; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1144: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1145; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1145: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1146; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1146: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1147; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1147: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1148; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1148: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1149; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1149: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1150; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1150: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1151; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1151: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1152; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1152: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1153; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1153: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1154; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1154: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1155; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1155: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1156; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1156: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1157; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1157: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1158; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1158: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1159; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1159: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1160; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1160: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1161; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1161: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1162; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1162: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1163; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1163: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1164; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1164: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1165; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1165: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1166; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1166: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1167; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1167: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1168; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1168: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1169; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1169: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1170; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1170: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1171; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1171: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1172; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1172: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1173; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1173: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1174; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1174: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1175; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1175: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1176; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1176: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1177; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1177: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1178; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1178: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 1179; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1179: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ + if (v2gServiceParameterListType_ParameterSet_currArrayIndex < v2gServiceParameterListType->ParameterSet.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gServiceParameterListType->ParameterSet.array [v2gServiceParameterListType_ParameterSet_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -10483,14 +25988,14 @@ static int encode_v2gSAScheduleTupleType(bitstream_t* stream, struct v2gSASchedu /* 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 encode_v2gSignedInfoType(bitstream_t* stream, struct v2gSignedInfoType* v2gSignedInfoType) { - int grammarID = 316; + int grammarID = 1180; int done = 0; unsigned int v2gSignedInfoType_Reference_currArrayIndex = 0; while(!done) { switch(grammarID) { - case 316: + case 1180: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ if ( v2gSignedInfoType->Id_isUsed == 1u ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); @@ -10501,67 +26006,67 @@ static int encode_v2gSignedInfoType(bitstream_t* stream, struct v2gSignedInfoTyp errn = encodeCharacters(stream, v2gSignedInfoType->Id.characters, v2gSignedInfoType->Id.charactersLen); } } - grammarID = 317; + grammarID = 1181; } else if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { errn = encode_v2gCanonicalizationMethodType(stream, &v2gSignedInfoType->CanonicalizationMethod ); } - grammarID = 318; + grammarID = 1182; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 317: + case 1181: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gCanonicalizationMethodType(stream, &v2gSignedInfoType->CanonicalizationMethod ); } - grammarID = 318; + grammarID = 1182; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 318: + case 1182: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gSignatureMethodType(stream, &v2gSignedInfoType->SignatureMethod ); } - grammarID = 319; + grammarID = 1183; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 319: + case 1183: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ if (v2gSignedInfoType_Reference_currArrayIndex < v2gSignedInfoType->Reference.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { errn = encode_v2gReferenceType(stream, &v2gSignedInfoType->Reference.array [v2gSignedInfoType_Reference_currArrayIndex++]); } - grammarID = 50; + grammarID = 619; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 50: + case 619: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ if (v2gSignedInfoType_Reference_currArrayIndex < v2gSignedInfoType->Reference.arrayLen ) { errn = encodeNBitUnsignedInteger(stream, 2, 0); if(errn == 0) { errn = encode_v2gReferenceType(stream, &v2gSignedInfoType->Reference.array [v2gSignedInfoType_Reference_currArrayIndex++]); } - grammarID = 50; + grammarID = 619; } else if (1==1) { errn = encodeNBitUnsignedInteger(stream, 2, 1); if(errn == 0) { done = 1; } - grammarID = 1; + grammarID = 3; } else { errn = EXI_ERROR_UNKOWN_EVENT; } @@ -10577,68 +26082,41799 @@ static int encode_v2gSignedInfoType(bitstream_t* stream, struct v2gSignedInfoTyp return errn; } -/* Complex type name='urn:iso:15118:2:2013:MsgBody,MeteringReceiptResType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2013:MsgBody":ResponseCode,"urn:iso:15118:2:2013:MsgDataTypes":EVSEStatus)', derivedBy='EXTENSION'. */ -static int encode_v2gMeteringReceiptResType(bitstream_t* stream, struct v2gMeteringReceiptResType* v2gMeteringReceiptResType) { - int grammarID = 311; +/* Complex type name='urn:iso:15118:2:2016:MsgBody,EVErrorInformationType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ErrorCode)', derivedBy='EXTENSION'. */ +static int encode_v2gEVErrorInformationType(bitstream_t* stream, struct v2gEVErrorInformationType* v2gEVErrorInformationType) { + int grammarID = 1184; int done = 0; while(!done) { switch(grammarID) { - case 311: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode)] */ + case 1184: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorCode)] */ if ( 1 == 1 ) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 5, v2gMeteringReceiptResType->ResponseCode); + errn = encodeNBitUnsignedInteger(stream, 4, v2gEVErrorInformationType->ErrorCode); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - grammarID = 312; + grammarID = 2; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; - case 312: - /* Element[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus)] */ - if ( v2gMeteringReceiptResType->AC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 0); - if(errn == 0) { - errn = encode_v2gAC_EVSEStatusType(stream, &v2gMeteringReceiptResType->AC_EVSEStatus ); - } - grammarID = 5; - } else if ( v2gMeteringReceiptResType->DC_EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 1); - if(errn == 0) { - errn = encode_v2gDC_EVSEStatusType(stream, &v2gMeteringReceiptResType->DC_EVSEStatus ); - } - grammarID = 5; - } else if ( v2gMeteringReceiptResType->EVSEStatus_isUsed == 1u ) { - errn = encodeNBitUnsignedInteger(stream, 2, 2); - if(errn == 0) { - errn = encode_v2gEVSEStatusType(stream, &v2gMeteringReceiptResType->EVSEStatus ); - } - grammarID = 5; - } else { - errn = EXI_ERROR_UNKOWN_EVENT; - } - break; - case 5: + case 2: /* Element[END_ELEMENT] */ if (1==1) { errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { done = 1; } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gListOfRootCertificateIDsType(bitstream_t* stream, struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType) { + int grammarID = 1185; + int done = 0; + + unsigned int v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1185: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID)] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1186; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1186: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1187; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1187: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1188; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1188: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1189; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1189: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1190; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1190: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1191; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1191: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1192; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1192: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1193; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1193: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1194; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1194: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1195; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1195: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1196; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1196: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1197; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1197: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1198; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1198: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1199; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1199: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1200; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1200: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1201; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1201: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1202; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1202: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1203; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1203: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 1204; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1204: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ + if (v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex < v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gListOfRootCertificateIDsType->RootCertificateID.array [v2gListOfRootCertificateIDsType_RootCertificateID_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSPKIDataType(bitstream_t* stream, struct v2gSPKIDataType* v2gSPKIDataType) { + int grammarID = 1205; + int done = 0; + int wcDone = 0; + + unsigned int v2gSPKIDataType_SPKISexp_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1205: + /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ + if (v2gSPKIDataType_SPKISexp_currArrayIndex < v2gSPKIDataType->SPKISexp.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytes, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen); + v2gSPKIDataType_SPKISexp_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1206; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1206: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ + if (v2gSPKIDataType_SPKISexp_currArrayIndex < v2gSPKIDataType->SPKISexp.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytes, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen); + v2gSPKIDataType_SPKISexp_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1206; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 1207; + } else if ( v2gSPKIDataType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1207: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ + if (v2gSPKIDataType_SPKISexp_currArrayIndex < v2gSPKIDataType->SPKISexp.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytes, v2gSPKIDataType->SPKISexp.array[v2gSPKIDataType_SPKISexp_currArrayIndex].bytesLen); + v2gSPKIDataType_SPKISexp_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1206; + } else if ( v2gSPKIDataType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDC_BidirectionalControlReqType(bitstream_t* stream, struct v2gDC_BidirectionalControlReqType* v2gDC_BidirectionalControlReqType) { + int grammarID = 1208; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1208: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetEnergyRequest ); + } + grammarID = 1209; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1209: + /* 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)] */ + if ( v2gDC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumEnergyRequest ); + } + grammarID = 1210; + } else if ( v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest ); + } + grammarID = 1211; + } else if ( v2gDC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gDC_BidirectionalControlReqType->DisplayParameters ); + } + grammarID = 1212; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetCurrent ); + } + grammarID = 1213; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1210: + /* 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)] */ + if ( v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMinimumEnergyRequest ); + } + grammarID = 1211; + } else if ( v2gDC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gDC_BidirectionalControlReqType->DisplayParameters ); + } + grammarID = 1212; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetCurrent ); + } + grammarID = 1213; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1211: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ + if ( v2gDC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gDC_BidirectionalControlReqType->DisplayParameters ); + } + grammarID = 1212; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetCurrent ); + } + grammarID = 1213; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1212: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetCurrent ); + } + grammarID = 1213; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1213: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVTargetVoltage ); + } + grammarID = 1214; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1214: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumVoltage ); + } + grammarID = 1215; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1215: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMinimumVoltage ); + } + grammarID = 1216; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1216: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumChargeCurrent ); + } + grammarID = 1217; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1217: + /* 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] */ + if ( v2gDC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumDischargeCurrent ); + } + grammarID = 1218; + } else if ( v2gDC_BidirectionalControlReqType->EVMaximumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumChargePower ); + } + grammarID = 1219; + } else if ( v2gDC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumDischargePower ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1218: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ + if ( v2gDC_BidirectionalControlReqType->EVMaximumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumChargePower ); + } + grammarID = 1219; + } else if ( v2gDC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumDischargePower ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1219: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ + if ( v2gDC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlReqType->EVMaximumDischargePower ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPairingResType(bitstream_t* stream, struct v2gPairingResType* v2gPairingResType) { + int grammarID = 1220; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1220: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gPairingResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1221; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1221: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gPairingResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gPairingResType->EVSEStatus ); + } + grammarID = 1222; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gPairingResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1223; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1222: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gPairingResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1223; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1223: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ + if ( v2gPairingResType->PairingParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gPairingResType->PairingParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCartesianCoordinatesType(bitstream_t* stream, struct v2gCartesianCoordinatesType* v2gCartesianCoordinatesType) { + int grammarID = 1224; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1224: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger16(stream, v2gCartesianCoordinatesType->XCoordinate); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1225; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1225: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger16(stream, v2gCartesianCoordinatesType->YCoordinate); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1226; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1226: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger16(stream, v2gCartesianCoordinatesType->ZCoordinate); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gChargeParameterDiscoveryReqType(bitstream_t* stream, struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType) { + int grammarID = 1227; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1227: + /* 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)] */ + if ( v2gChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 10, (uint32_t)(v2gChargeParameterDiscoveryReqType->MaxSupportingPoints - 12)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1228; + } else if ( v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gAC_EVBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gAC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gDC_EVBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gDC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + errn = encode_v2gEVEnergyTransferParameterType(stream, &v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 6); + if(errn == 0) { + errn = encode_v2gWPT_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter ); + } + grammarID = 1229; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1228: + /* 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)] */ + if ( v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gAC_EVBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gAC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gDC_EVBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gDC_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gEVEnergyTransferParameterType(stream, &v2gChargeParameterDiscoveryReqType->EVEnergyTransferParameter ); + } + grammarID = 1229; + } else if ( v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + errn = encode_v2gWPT_EVChargeParameterType(stream, &v2gChargeParameterDiscoveryReqType->WPT_EVChargeParameter ); + } + grammarID = 1229; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1229: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), END_ELEMENT] */ + if ( v2gChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMinimumPMaxRequestType(stream, &v2gChargeParameterDiscoveryReqType->MinimumPMaxRequest ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gChargeParameterDiscoveryResType(bitstream_t* stream, struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType) { + int grammarID = 1230; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1230: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gChargeParameterDiscoveryResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1231; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1231: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gChargeParameterDiscoveryResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gChargeParameterDiscoveryResType->EVSEStatus ); + } + grammarID = 1232; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gChargeParameterDiscoveryResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1233; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1232: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gChargeParameterDiscoveryResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1233; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1233: + /* 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)] */ + if ( v2gChargeParameterDiscoveryResType->SAScheduleList_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gSAScheduleListType(stream, &v2gChargeParameterDiscoveryResType->SAScheduleList ); + } + grammarID = 1234; + } else if ( v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gAC_EVSEBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gAC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gDC_EVSEBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gDC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + errn = encode_v2gEVSEEnergyTransferParameterType(stream, &v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 6); + if(errn == 0) { + errn = encode_v2gWPT_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1234: + /* 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)] */ + if ( v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gAC_EVSEBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gAC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gDC_EVSEBidirectionalParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gDC_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gEVSEEnergyTransferParameterType(stream, &v2gChargeParameterDiscoveryResType->EVSEEnergyTransferParameter ); + } + grammarID = 2; + } else if ( v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + errn = encode_v2gWPT_EVSEChargeParameterType(stream, &v2gChargeParameterDiscoveryResType->WPT_EVSEChargeParameter ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gRSAKeyValueType(bitstream_t* stream, struct v2gRSAKeyValueType* v2gRSAKeyValueType) { + int grammarID = 1235; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1235: + /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRSAKeyValueType->Modulus.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gRSAKeyValueType->Modulus.bytes, v2gRSAKeyValueType->Modulus.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1236; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1236: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRSAKeyValueType->Exponent.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gRSAKeyValueType->Exponent.bytes, v2gRSAKeyValueType->Exponent.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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{1-255},"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 encode_v2gLFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct v2gLFA_EVFinePositioningSetupParametersType* v2gLFA_EVFinePositioningSetupParametersType) { + int grammarID = 1237; + int done = 0; + + unsigned int v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1237: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->NumberOfSensors - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1238; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1238: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSensorListType(stream, &v2gLFA_EVFinePositioningSetupParametersType->SensorList ); + } + grammarID = 1239; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1239: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1240; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1240: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1241; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1241: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1243; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1243: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1244; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1244: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1245; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1245: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1246; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1246: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1247; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1247: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1248; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1248: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1249; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1249: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1250; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1250: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1251; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1251: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1252; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1252: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1253; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1253: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1254; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1254: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1255; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1255: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1256; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1256: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1257; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1257: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1258; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1258: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1259; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1259: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1260; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1260: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1261; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1261: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1262; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1262: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1263; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1263: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1264; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1264: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1265; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1265: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1266; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1266: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1267; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1267: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1268; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1268: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1269; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1269: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1270; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1270: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1271; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1271: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1272; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1272: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1273; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1273: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1274; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1274: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1275; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1275: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1276; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1276: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1277; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1277: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1278; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1278: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1279; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1279: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1280; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1280: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1281; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1281: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1282; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1282: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1283; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1283: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1284; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1284: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1285; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1285: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1286; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1286: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1287; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1287: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1288; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1288: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1289; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1289: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1290; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1290: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1291; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1291: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1292; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1292: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1293; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1293: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1294; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1294: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1295; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1295: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1296; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1296: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1297; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1297: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1298; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1298: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1299; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1299: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1300; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1300: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1301; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1301: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1302; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1302: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1303; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1303: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1304; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1304: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1305; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1305: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1306; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1306: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1307; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1307: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1308; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1308: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1309; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1309: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1310; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1310: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1311; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1311: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1312; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1312: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1313; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1313: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1314; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1314: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1315; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1315: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1316; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1316: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1317; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1317: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1318; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1318: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1319; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1319: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1320; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1320: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1321; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1321: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1322; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1322: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1323; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1323: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1324; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1324: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1325; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1325: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1326; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1326: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1327; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1327: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1328; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1328: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1329; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1329: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1330; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1330: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1331; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1331: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1332; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1332: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1333; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1333: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1334; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1334: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1335; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1335: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1336; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1336: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1337; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1337: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1338; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1338: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1339; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1339: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1340; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1340: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1341; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1341: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1342; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1342: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1343; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1343: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1344; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1344: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1345; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1345: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1346; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1346: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1347; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1347: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1348; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1348: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1349; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1349: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1350; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1350: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1351; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1351: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1352; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1352: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1353; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1353: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1354; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1354: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1355; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1355: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1356; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1356: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1357; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1357: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1358; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1358: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1359; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1359: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1360; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1360: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1361; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1361: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1362; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1362: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1363; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1363: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1364; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1364: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1365; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1365: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1366; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1366: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1367; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1367: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1368; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1368: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1369; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1369: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1370; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1370: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1371; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1371: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1372; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1372: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1373; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1373: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1374; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1374: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1375; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1375: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1376; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1376: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1377; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1377: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1378; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1378: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1379; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1379: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1380; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1380: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1381; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1381: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1382; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1382: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1383; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1383: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1384; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1384: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1385; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1385: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1386; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1386: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1387; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1387: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1388; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1388: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1389; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1389: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1390; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1390: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1391; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1391: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1392; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1392: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1393; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1393: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1394; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1394: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1395; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1395: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1396; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1396: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1397; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1397: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1398; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1398: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1399; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1399: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1400; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1400: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1401; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1401: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1402; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1402: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1403; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1403: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1404; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1404: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1405; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1405: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1406; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1406: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1407; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1407: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1408; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1408: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1409; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1409: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1410; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1410: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1411; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1411: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1412; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1412: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1413; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1413: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1414; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1414: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1415; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1415: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1416; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1416: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1417; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1417: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1418; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1418: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1419; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1419: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1420; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1420: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1421; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1421: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1422; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1422: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1423; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1423: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1424; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1424: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1425; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1425: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1426; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1426: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1427; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1427: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1428; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1428: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1429; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1429: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1430; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1430: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1431; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1431: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1432; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1432: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1433; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1433: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1434; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1434: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1435; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1435: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1436; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1436: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1437; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1437: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1438; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1438: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1439; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1439: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1440; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1440: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1441; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1441: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1442; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1442: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1443; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1443: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1444; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1444: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1445; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1445: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1446; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1446: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1447; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1447: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1448; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1448: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1449; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1449: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1450; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1450: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1451; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1451: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1452; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1452: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1453; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1453: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1454; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1454: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1455; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1455: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1456; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1456: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1457; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1457: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1458; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1458: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1459; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1459: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1460; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1460: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1461; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1461: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1462; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1462: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1463; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1463: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1464; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1464: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1465; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1465: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1466; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1466: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1467; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1467: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1468; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1468: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1469; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1469: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1470; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1470: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1471; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1471: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1472; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1472: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1473; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1473: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1474; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1474: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1475; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1475: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1476; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1476: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1477; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1477: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1478; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1478: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1479; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1479: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1480; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1480: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1481; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1481: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1482; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1482: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1483; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1483: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1484; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1484: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1485; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1485: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1486; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1486: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1487; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1487: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1488; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1488: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1489; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1489: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1490; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1490: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1491; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1491: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1492; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1492: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1493; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1493: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1494; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1494: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1495; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1495: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1242; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1242: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->SignalSeparationTime - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1496; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1496: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningSetupParametersType->PackageSeparationTime - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1497; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1497: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gLFA_EVFinePositioningSetupParametersType->AlignmentOffset); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSelectedServiceType(bitstream_t* stream, struct v2gSelectedServiceType* v2gSelectedServiceType) { + int grammarID = 1498; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1498: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSelectedServiceType->ServiceID); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1499; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1499: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gSelectedServiceType->ParameterSetID); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSignaturePropertyType(bitstream_t* stream, struct v2gSignaturePropertyType* v2gSignaturePropertyType) { + int grammarID = 1500; + int done = 0; + int wcDone = 0; + + + while(!done) { + switch(grammarID) { + case 1500: + /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ + if ( v2gSignaturePropertyType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertyType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignaturePropertyType->Id.characters, v2gSignaturePropertyType->Id.charactersLen); + } + } + grammarID = 1501; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertyType->Target.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignaturePropertyType->Target.characters, v2gSignaturePropertyType->Target.charactersLen); + } + } + grammarID = 1502; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1501: + /* StartTag[ATTRIBUTE[STRING](Target)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertyType->Target.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignaturePropertyType->Target.characters, v2gSignaturePropertyType->Target.charactersLen); + } + } + grammarID = 1502; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1502: + /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gSignaturePropertyType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertyType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignaturePropertyType->ANY.characters, v2gSignaturePropertyType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 1503; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 904: + /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gSignaturePropertyType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gSignaturePropertyType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertyType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignaturePropertyType->ANY.characters, v2gSignaturePropertyType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1503: + /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gSignaturePropertyType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSignaturePropertyType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSignaturePropertyType->ANY.characters, v2gSignaturePropertyType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 1503; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAC_BidirectionalControlResType(bitstream_t* stream, struct v2gAC_BidirectionalControlResType* v2gAC_BidirectionalControlResType) { + int grammarID = 1504; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1504: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gAC_BidirectionalControlResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1505; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1505: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gAC_BidirectionalControlResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gAC_BidirectionalControlResType->EVSEStatus ); + } + grammarID = 1506; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gAC_BidirectionalControlResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1507; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1506: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gAC_BidirectionalControlResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1507; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1507: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlResType->EVSETargetPower ); + } + grammarID = 1508; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1508: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlResType->EVSETargetReactivePower ); + } + grammarID = 1509; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1509: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gAC_BidirectionalControlResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gAC_BidirectionalControlResType->EVSEID.characters, v2gAC_BidirectionalControlResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1510: + /* 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] */ + if ( v2gAC_BidirectionalControlResType->SAScheduleTupleID_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gAC_BidirectionalControlResType->SAScheduleTupleID - 1)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1511; + } else if ( v2gAC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gAC_BidirectionalControlResType->MeterInfo ); + } + grammarID = 1512; + } else if ( v2gAC_BidirectionalControlResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gAC_BidirectionalControlResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1511: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ + if ( v2gAC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gAC_BidirectionalControlResType->MeterInfo ); + } + grammarID = 1512; + } else if ( v2gAC_BidirectionalControlResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gAC_BidirectionalControlResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1512: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ + if ( v2gAC_BidirectionalControlResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gAC_BidirectionalControlResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPGPDataType(bitstream_t* stream, struct v2gPGPDataType* v2gPGPDataType) { + int grammarID = 1513; + int done = 0; + int wcDone = 0; + + + while(!done) { + switch(grammarID) { + case 1513: + /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ + if ( v2gPGPDataType->PGPKeyID_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPGPDataType->PGPKeyID.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gPGPDataType->PGPKeyID.bytes, v2gPGPDataType->PGPKeyID.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1514; + } else if ( v2gPGPDataType->PGPKeyPacket_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPGPDataType->PGPKeyPacket.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gPGPDataType->PGPKeyPacket.bytes, v2gPGPDataType->PGPKeyPacket.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1515; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1514: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ + if ( v2gPGPDataType->PGPKeyPacket_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPGPDataType->PGPKeyPacket.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gPGPDataType->PGPKeyPacket.bytes, v2gPGPDataType->PGPKeyPacket.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1515; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 1515; + } else if ( v2gPGPDataType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1515: + /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 1515; + } else if ( v2gPGPDataType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSystemStatusResType(bitstream_t* stream, struct v2gSystemStatusResType* v2gSystemStatusResType) { + int grammarID = 1516; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1516: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gSystemStatusResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1517; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1517: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ + if ( v2gSystemStatusResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gSystemStatusResType->EVSEStatus ); + } + grammarID = 1518; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gSystemStatusResType->OperationMode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1519; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1518: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gSystemStatusResType->OperationMode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1519; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1519: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gSystemStatusResType->EVSEMechanicalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCertificateUpdateResType(bitstream_t* stream, struct v2gCertificateUpdateResType* v2gCertificateUpdateResType) { + int grammarID = 1520; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1520: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gCertificateUpdateResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1521; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1521: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ + if ( v2gCertificateUpdateResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gCertificateUpdateResType->EVSEStatus ); + } + grammarID = 1522; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->SAProvisioningCertificateChain ); + } + grammarID = 1523; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1522: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->SAProvisioningCertificateChain ); + } + grammarID = 1523; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1523: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gCertificateChainType(stream, &v2gCertificateUpdateResType->ContractSignatureCertChain ); + } + grammarID = 1524; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1524: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gContractSignatureEncryptedPrivateKeyType(stream, &v2gCertificateUpdateResType->ContractSignatureEncryptedPrivateKey ); + } + grammarID = 1525; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1525: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gDiffieHellmanPublickeyType(stream, &v2gCertificateUpdateResType->DHpublickey ); + } + grammarID = 1526; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1526: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gEMAIDType(stream, &v2gCertificateUpdateResType->eMAID ); + } + grammarID = 1527; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1527: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), END_ELEMENT] */ + if ( v2gCertificateUpdateResType->RetryCounter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger16(stream, v2gCertificateUpdateResType->RetryCounter); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gParameterSetType(bitstream_t* stream, struct v2gParameterSetType* v2gParameterSetType) { + int grammarID = 1528; + int done = 0; + + unsigned int v2gParameterSetType_Parameter_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1528: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gParameterSetType->ParameterSetID); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1529; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1529: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter)] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1530; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1530: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1531; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1531: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1532; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1532: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1533; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1533: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1534; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1534: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1535; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1535: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1536; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1536: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1537; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1537: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1538; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1538: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1539; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1539: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1540; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1540: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1541; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1541: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1542; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1542: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1543; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1543: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 1544; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1544: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ + if (v2gParameterSetType_Parameter_currArrayIndex < v2gParameterSetType->Parameter.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterType(stream, &v2gParameterSetType->Parameter.array [v2gParameterSetType_Parameter_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSAScheduleTupleType(bitstream_t* stream, struct v2gSAScheduleTupleType* v2gSAScheduleTupleType) { + int grammarID = 1545; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1545: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSAScheduleTupleType->SAScheduleTupleID - 1)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1546; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1546: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPMaxScheduleType(stream, &v2gSAScheduleTupleType->PMaxSchedule ); + } + grammarID = 1547; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1547: + /* 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] */ + if ( v2gSAScheduleTupleType->PMaxDischargeSchedule_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPMaxScheduleType(stream, &v2gSAScheduleTupleType->PMaxDischargeSchedule ); + } + grammarID = 1548; + } else if ( v2gSAScheduleTupleType->SalesTariff_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->SalesTariff ); + } + grammarID = 1549; + } else if ( v2gSAScheduleTupleType->BuyBackTariff_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->BuyBackTariff ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1548: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ + if ( v2gSAScheduleTupleType->SalesTariff_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->SalesTariff ); + } + grammarID = 1549; + } else if ( v2gSAScheduleTupleType->BuyBackTariff_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->BuyBackTariff ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1549: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ + if ( v2gSAScheduleTupleType->BuyBackTariff_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSalesTariffType(stream, &v2gSAScheduleTupleType->BuyBackTariff ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDSAKeyValueType(bitstream_t* stream, struct v2gDSAKeyValueType* v2gDSAKeyValueType) { + int grammarID = 1550; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1550: + /* 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)] */ + if ( v2gDSAKeyValueType->P_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->P.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->P.bytes, v2gDSAKeyValueType->P.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1551; + } else if ( v2gDSAKeyValueType->G_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->G.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->G.bytes, v2gDSAKeyValueType->G.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1552; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Y.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->Y.bytes, v2gDSAKeyValueType->Y.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1553; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1551: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ + if ( v2gDSAKeyValueType->Q_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Q.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->Q.bytes, v2gDSAKeyValueType->Q.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1554; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1554: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ + if ( v2gDSAKeyValueType->G_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->G.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->G.bytes, v2gDSAKeyValueType->G.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1552; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Y.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->Y.bytes, v2gDSAKeyValueType->Y.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1553; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1552: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Y.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->Y.bytes, v2gDSAKeyValueType->Y.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1553; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1553: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ + if ( v2gDSAKeyValueType->J_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->J.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->J.bytes, v2gDSAKeyValueType->J.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1555; + } else if ( v2gDSAKeyValueType->Seed_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Seed.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->Seed.bytes, v2gDSAKeyValueType->Seed.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1556; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1555: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ + if ( v2gDSAKeyValueType->Seed_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->Seed.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->Seed.bytes, v2gDSAKeyValueType->Seed.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1556; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1556: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ + if ( v2gDSAKeyValueType->PgenCounter_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDSAKeyValueType->PgenCounter.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDSAKeyValueType->PgenCounter.bytes, v2gDSAKeyValueType->PgenCounter.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gMagneticVectorType(bitstream_t* stream, struct v2gMagneticVectorType* v2gMagneticVectorType) { + int grammarID = 1557; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1557: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMagneticVectorType->GAID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gMagneticVectorType->GAID.characters, v2gMagneticVectorType->GAID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1558; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1558: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gMagneticVectorType->Distance ); + } + grammarID = 1559; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1559: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gMagneticVectorType->AngleGAtoVA ); + } + grammarID = 1560; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1560: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gMagneticVectorType->RotationVAtoGA ); + } + grammarID = 1561; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1561: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gMagneticVectorType->FODStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gServiceIDListType(bitstream_t* stream, struct v2gServiceIDListType* v2gServiceIDListType) { + int grammarID = 1562; + int done = 0; + + unsigned int v2gServiceIDListType_ServiceID_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1562: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1563; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1563: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1564; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1564: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1565; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1565: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1566; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1566: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1567; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1567: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1568; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1568: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1569; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1569: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1570; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1570: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1571; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1571: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ + if (v2gServiceIDListType_ServiceID_currArrayIndex < v2gServiceIDListType->ServiceID.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceIDListType->ServiceID.array[v2gServiceIDListType_ServiceID_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gX509DataType(bitstream_t* stream, struct v2gX509DataType* v2gX509DataType) { + int grammarID = 1572; + int done = 0; + int wcDone = 0; + + unsigned int v2gX509DataType_X509IssuerSerial_currArrayIndex = 0; + unsigned int v2gX509DataType_X509SKI_currArrayIndex = 0; + unsigned int v2gX509DataType_X509SubjectName_currArrayIndex = 0; + unsigned int v2gX509DataType_X509Certificate_currArrayIndex = 0; + unsigned int v2gX509DataType_X509CRL_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1572: + /* 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] */ + if (v2gX509DataType_X509IssuerSerial_currArrayIndex < v2gX509DataType->X509IssuerSerial.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gX509DataType->X509IssuerSerial.array [v2gX509DataType_X509IssuerSerial_currArrayIndex++]); + } + grammarID = 1573; + } else if (v2gX509DataType_X509SKI_currArrayIndex < v2gX509DataType->X509SKI.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytes, v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytesLen); + v2gX509DataType_X509SKI_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1573; + } else if (v2gX509DataType_X509SubjectName_currArrayIndex < v2gX509DataType->X509SubjectName.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].characters, v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].charactersLen); + v2gX509DataType_X509SubjectName_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1573; + } else if (v2gX509DataType_X509Certificate_currArrayIndex < v2gX509DataType->X509Certificate.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytes, v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytesLen); + v2gX509DataType_X509Certificate_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1573; + } else if (v2gX509DataType_X509CRL_currArrayIndex < v2gX509DataType->X509CRL.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytes, v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytesLen); + v2gX509DataType_X509CRL_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1573; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 1573; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1573: + /* 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] */ + if (v2gX509DataType_X509IssuerSerial_currArrayIndex < v2gX509DataType->X509IssuerSerial.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gX509IssuerSerialType(stream, &v2gX509DataType->X509IssuerSerial.array [v2gX509DataType_X509IssuerSerial_currArrayIndex++]); + } + grammarID = 1573; + } else if (v2gX509DataType_X509SKI_currArrayIndex < v2gX509DataType->X509SKI.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytes, v2gX509DataType->X509SKI.array[v2gX509DataType_X509SKI_currArrayIndex].bytesLen); + v2gX509DataType_X509SKI_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1573; + } else if (v2gX509DataType_X509SubjectName_currArrayIndex < v2gX509DataType->X509SubjectName.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].characters, v2gX509DataType->X509SubjectName.array[v2gX509DataType_X509SubjectName_currArrayIndex].charactersLen); + v2gX509DataType_X509SubjectName_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1573; + } else if (v2gX509DataType_X509Certificate_currArrayIndex < v2gX509DataType->X509Certificate.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytes, v2gX509DataType->X509Certificate.array[v2gX509DataType_X509Certificate_currArrayIndex].bytesLen); + v2gX509DataType_X509Certificate_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1573; + } else if (v2gX509DataType_X509CRL_currArrayIndex < v2gX509DataType->X509CRL.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytes, v2gX509DataType->X509CRL.array[v2gX509DataType_X509CRL_currArrayIndex].bytesLen); + v2gX509DataType_X509CRL_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1573; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 1573; + } else if ( v2gX509DataType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 3, 6); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gEVEnergyTransferParameterType(bitstream_t* stream, struct v2gEVEnergyTransferParameterType* v2gEVEnergyTransferParameterType) { + int grammarID = 1574; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1574: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gEVEnergyTransferParameterType->DepartureTime); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPreChargeResType(bitstream_t* stream, struct v2gPreChargeResType* v2gPreChargeResType) { + int grammarID = 1575; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1575: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gPreChargeResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1576; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1576: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + if ( v2gPreChargeResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gPreChargeResType->EVSEStatus ); + } + grammarID = 1577; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPreChargeResType->EVSEPresentVoltage ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1577: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPreChargeResType->EVSEPresentVoltage ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gFinePositioningResType(bitstream_t* stream, struct v2gFinePositioningResType* v2gFinePositioningResType) { + int grammarID = 1578; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1578: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gFinePositioningResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1579; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1579: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gFinePositioningResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gFinePositioningResType->EVSEStatus ); + } + grammarID = 1580; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gFinePositioningResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1581; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1580: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gFinePositioningResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1581; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1581: + /* 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}LF_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), END_ELEMENT] */ + if ( v2gFinePositioningResType->EVSEFinePositioningParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gEVSEFinePositioningParametersType(stream, &v2gFinePositioningResType->EVSEFinePositioningParameters ); + } + grammarID = 2; + } else if ( v2gFinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gGeneric_EVSEFinePositioningParametersType(stream, &v2gFinePositioningResType->Generic_EVSEFinePositioningParameters ); + } + grammarID = 2; + } else if ( v2gFinePositioningResType->LF_EVSEFinePositioningParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gLF_EVSEFinePositioningParametersType(stream, &v2gFinePositioningResType->LF_EVSEFinePositioningParameters ); + } + grammarID = 2; + } else if ( v2gFinePositioningResType->MV_EVSEFinePositioningParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gMV_EVSEFinePositioningParametersType(stream, &v2gFinePositioningResType->MV_EVSEFinePositioningParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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{1-255},"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 encode_v2gLFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct v2gLFA_EVSEFinePositioningSetupParametersType* v2gLFA_EVSEFinePositioningSetupParametersType) { + int grammarID = 1582; + int done = 0; + + unsigned int v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1582: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->NumberOfSensors - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1583; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1583: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSensorListType(stream, &v2gLFA_EVSEFinePositioningSetupParametersType->SensorList ); + } + grammarID = 1584; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1584: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1585; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1585: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1586; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1586: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1588; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1588: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1589; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1589: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1590; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1590: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1591; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1591: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1592; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1592: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1593; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1593: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1594; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1594: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1595; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1595: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1596; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1596: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1597; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1597: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1598; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1598: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1599; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1599: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1600; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1600: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1601; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1601: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1602; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1602: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1603; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1603: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1604; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1604: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1605; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1605: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1606; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1606: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1607; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1607: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1608; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1608: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1609; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1609: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1610; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1610: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1611; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1611: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1612; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1612: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1613; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1613: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1614; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1614: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1615; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1615: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1616; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1616: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1617; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1617: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1618; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1618: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1619; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1619: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1620; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1620: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1621; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1621: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1622; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1622: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1623; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1623: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1624; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1624: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1625; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1625: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1626; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1626: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1627; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1627: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1628; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1628: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1629; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1629: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1630; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1630: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1631; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1631: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1632; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1632: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1633; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1633: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1634; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1634: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1635; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1635: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1636; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1636: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1637; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1637: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1638; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1638: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1639; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1639: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1640; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1640: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1641; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1641: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1642; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1642: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1643; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1643: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1644; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1644: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1645; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1645: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1646; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1646: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1647; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1647: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1648; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1648: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1649; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1649: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1650; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1650: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1651; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1651: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1652; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1652: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1653; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1653: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1654; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1654: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1655; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1655: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1656; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1656: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1657; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1657: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1658; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1658: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1659; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1659: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1660; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1660: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1661; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1661: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1662; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1662: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1663; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1663: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1664; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1664: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1665; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1665: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1666; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1666: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1667; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1667: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1668; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1668: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1669; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1669: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1670; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1670: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1671; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1671: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1672; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1672: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1673; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1673: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1674; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1674: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1675; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1675: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1676; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1676: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1677; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1677: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1678; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1678: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1679; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1679: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1680; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1680: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1681; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1681: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1682; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1682: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1683; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1683: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1684; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1684: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1685; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1685: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1686; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1686: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1687; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1687: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1688; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1688: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1689; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1689: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1690; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1690: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1691; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1691: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1692; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1692: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1693; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1693: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1694; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1694: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1695; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1695: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1696; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1696: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1697; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1697: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1698; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1698: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1699; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1699: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1700; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1700: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1701; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1701: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1702; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1702: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1703; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1703: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1704; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1704: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1705; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1705: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1706; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1706: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1707; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1707: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1708; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1708: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1709; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1709: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1710; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1710: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1711; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1711: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1712; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1712: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1713; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1713: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1714; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1714: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1715; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1715: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1716; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1716: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1717; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1717: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1718; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1718: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1719; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1719: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1720; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1720: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1721; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1721: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1722; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1722: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1723; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1723: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1724; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1724: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1725; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1725: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1726; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1726: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1727; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1727: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1728; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1728: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1729; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1729: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1730; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1730: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1731; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1731: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1732; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1732: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1733; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1733: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1734; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1734: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1735; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1735: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1736; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1736: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1737; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1737: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1738; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1738: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1739; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1739: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1740; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1740: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1741; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1741: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1742; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1742: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1743; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1743: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1744; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1744: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1745; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1745: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1746; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1746: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1747; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1747: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1748; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1748: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1749; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1749: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1750; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1750: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1751; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1751: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1752; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1752: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1753; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1753: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1754; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1754: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1755; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1755: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1756; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1756: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1757; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1757: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1758; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1758: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1759; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1759: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1760; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1760: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1761; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1761: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1762; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1762: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1763; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1763: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1764; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1764: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1765; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1765: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1766; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1766: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1767; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1767: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1768; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1768: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1769; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1769: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1770; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1770: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1771; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1771: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1772; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1772: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1773; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1773: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1774; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1774: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1775; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1775: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1776; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1776: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1777; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1777: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1778; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1778: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1779; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1779: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1780; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1780: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1781; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1781: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1782; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1782: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1783; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1783: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1784; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1784: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1785; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1785: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1786; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1786: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1787; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1787: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1788; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1788: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1789; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1789: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1790; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1790: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1791; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1791: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1792; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1792: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1793; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1793: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1794; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1794: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1795; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1795: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1796; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1796: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1797; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1797: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1798; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1798: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1799; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1799: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1800; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1800: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1801; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1801: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1802; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1802: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1803; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1803: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1804; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1804: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1805; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1805: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1806; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1806: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1807; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1807: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1808; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1808: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1809; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1809: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1810; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1810: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1811; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1811: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1812; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1812: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1813; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1813: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1814; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1814: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1815; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1815: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1816; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1816: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1817; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1817: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1818; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1818: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1819; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1819: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1820; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1820: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1821; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1821: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1822; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1822: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1823; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1823: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1824; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1824: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1825; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1825: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1826; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1826: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1827; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1827: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1828; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1828: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1829; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1829: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1830; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1830: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1831; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1831: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1832; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1832: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1833; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1833: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1834; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1834: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1835; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1835: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1836; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1836: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1837; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1837: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1838; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1838: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1839; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1839: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if (v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex < v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SensorOrder.array[v2gLFA_EVSEFinePositioningSetupParametersType_SensorOrder_currArrayIndex++] - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1840; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1840: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1587; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1587: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->SignalSeparationTime - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1841; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1841: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVSEFinePositioningSetupParametersType->PackageSeparationTime - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1842; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1842: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gLFA_EVSEFinePositioningSetupParametersType->AlignmentOffset); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1843; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1843: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gLFA_EVSEFinePositioningSetupParametersType->SignalFrequency); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gMinimumPMaxRequestType(bitstream_t* stream, struct v2gMinimumPMaxRequestType* v2gMinimumPMaxRequestType) { + int grammarID = 1844; + int done = 0; + + unsigned int v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1844: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry)] */ + if (v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex < v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPMaxScheduleEntryType(stream, &v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.array [v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex++]); + } + grammarID = 1845; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1845: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ + if (v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex < v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPMaxScheduleEntryType(stream, &v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.array [v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex++]); + } + grammarID = 1846; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1846: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ + if (v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex < v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPMaxScheduleEntryType(stream, &v2gMinimumPMaxRequestType->MinimumPMaxScheduleEntry.array [v2gMinimumPMaxRequestType_MinimumPMaxScheduleEntry_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCanonicalizationMethodType(bitstream_t* stream, struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType) { + int grammarID = 1847; + int done = 0; + int wcDone = 0; + + + while(!done) { + switch(grammarID) { + case 1847: + /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCanonicalizationMethodType->Algorithm.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCanonicalizationMethodType->Algorithm.characters, v2gCanonicalizationMethodType->Algorithm.charactersLen); + } + } + grammarID = 1848; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1848: + /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gCanonicalizationMethodType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCanonicalizationMethodType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCanonicalizationMethodType->ANY.characters, v2gCanonicalizationMethodType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 904: + /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gCanonicalizationMethodType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gCanonicalizationMethodType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCanonicalizationMethodType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCanonicalizationMethodType->ANY.characters, v2gCanonicalizationMethodType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCertificateInstallationReqType(bitstream_t* stream, struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType) { + int grammarID = 1849; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1849: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateInstallationReqType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCertificateInstallationReqType->Id.characters, v2gCertificateInstallationReqType->Id.charactersLen); + } + } + grammarID = 1850; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1850: + /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gCertificateInstallationReqType->OEMProvisioningCert.bytes, v2gCertificateInstallationReqType->OEMProvisioningCert.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1851; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1851: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gListOfRootCertificateIDsType(stream, &v2gCertificateInstallationReqType->ListOfRootCertificateIDs ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gVehicleCheckInReqType(bitstream_t* stream, struct v2gVehicleCheckInReqType* v2gVehicleCheckInReqType) { + int grammarID = 1852; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1852: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gVehicleCheckInReqType->EVCheckInStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1853; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1853: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), END_ELEMENT] */ + if ( v2gVehicleCheckInReqType->ParkingMethod_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gVehicleCheckInReqType->ParkingMethod); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gMV_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gMV_EVSEFinePositioningParametersType* v2gMV_EVSEFinePositioningParametersType) { + int grammarID = 1854; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1854: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gMagneticVectorListType(stream, &v2gMV_EVSEFinePositioningParametersType->MagneticVectorList ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPowerDeliveryResType(bitstream_t* stream, struct v2gPowerDeliveryResType* v2gPowerDeliveryResType) { + int grammarID = 583; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 583: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gPowerDeliveryResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 584; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 584: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gPowerDeliveryResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gPowerDeliveryResType->EVSEStatus ); + } + grammarID = 585; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gPowerDeliveryResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 585: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gPowerDeliveryResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gEVSEEnergyTransferParameterType(bitstream_t* stream, struct v2gEVSEEnergyTransferParameterType* v2gEVSEEnergyTransferParameterType) { + int grammarID = 4; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDiffieHellmanPublickeyType(bitstream_t* stream, struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType) { + int grammarID = 1855; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1855: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDiffieHellmanPublickeyType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDiffieHellmanPublickeyType->Id.characters, v2gDiffieHellmanPublickeyType->Id.charactersLen); + } + } grammarID = 1; } else { errn = EXI_ERROR_UNKOWN_EVENT; } break; + case 1: + /* StartTag[CHARACTERS[BINARY_BASE64]] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDiffieHellmanPublickeyType->CONTENT.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gDiffieHellmanPublickeyType->CONTENT.bytes, v2gDiffieHellmanPublickeyType->CONTENT.bytesLen); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gV2GResponseType(bitstream_t* stream, struct v2gV2GResponseType* v2gV2GResponseType) { + int grammarID = 1856; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1856: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gV2GResponseType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1857; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1857: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ + if ( v2gV2GResponseType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gV2GResponseType->EVSEStatus ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCableCheckResType(bitstream_t* stream, struct v2gCableCheckResType* v2gCableCheckResType) { + int grammarID = 583; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 583: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gCableCheckResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 584; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 584: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gCableCheckResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gCableCheckResType->EVSEStatus ); + } + grammarID = 585; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gCableCheckResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 585: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gCableCheckResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSalesTariffEntryType(bitstream_t* stream, struct v2gSalesTariffEntryType* v2gSalesTariffEntryType) { + int grammarID = 1858; + int done = 0; + + unsigned int v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1858: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gRelativeTimeIntervalType(stream, &v2gSalesTariffEntryType->RelativeTimeInterval ); + } + grammarID = 1859; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1859: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ + if ( v2gSalesTariffEntryType->EPriceLevel_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gSalesTariffEntryType->EPriceLevel - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1860; + } else if (v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex < v2gSalesTariffEntryType->ConsumptionCost.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array [v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); + } + grammarID = 1861; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1860: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ + if (v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex < v2gSalesTariffEntryType->ConsumptionCost.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array [v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); + } + grammarID = 1861; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1861: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ + if (v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex < v2gSalesTariffEntryType->ConsumptionCost.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array [v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); + } + grammarID = 1862; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1862: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ + if (v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex < v2gSalesTariffEntryType->ConsumptionCost.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gConsumptionCostType(stream, &v2gSalesTariffEntryType->ConsumptionCost.array [v2gSalesTariffEntryType_ConsumptionCost_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gChargingProfileType(bitstream_t* stream, struct v2gChargingProfileType* v2gChargingProfileType) { + int grammarID = 1863; + int done = 0; + + unsigned int v2gChargingProfileType_ProfileEntry_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1863: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry)] */ + if (v2gChargingProfileType_ProfileEntry_currArrayIndex < v2gChargingProfileType->ProfileEntry.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPMaxScheduleEntryType(stream, &v2gChargingProfileType->ProfileEntry.array [v2gChargingProfileType_ProfileEntry_currArrayIndex++]); + } + grammarID = 1864; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1864: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), END_ELEMENT] */ + if (v2gChargingProfileType_ProfileEntry_currArrayIndex < v2gChargingProfileType->ProfileEntry.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPMaxScheduleEntryType(stream, &v2gChargingProfileType->ProfileEntry.array [v2gChargingProfileType_ProfileEntry_currArrayIndex++]); + } + grammarID = 1864; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gServiceDiscoveryResType(bitstream_t* stream, struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType) { + int grammarID = 1865; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1865: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gServiceDiscoveryResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1866; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1866: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ + if ( v2gServiceDiscoveryResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gServiceDiscoveryResType->EVSEStatus ); + } + grammarID = 1867; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPaymentOptionListType(stream, &v2gServiceDiscoveryResType->PaymentOptionList ); + } + grammarID = 1868; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1867: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPaymentOptionListType(stream, &v2gServiceDiscoveryResType->PaymentOptionList ); + } + grammarID = 1868; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1868: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gServiceListType(stream, &v2gServiceDiscoveryResType->EnergyTransferServiceList ); + } + grammarID = 1869; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1869: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), END_ELEMENT] */ + if ( v2gServiceDiscoveryResType->VASList_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceListType(stream, &v2gServiceDiscoveryResType->VASList ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPMaxScheduleType(bitstream_t* stream, struct v2gPMaxScheduleType* v2gPMaxScheduleType) { + int grammarID = 1870; + int done = 0; + + unsigned int v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1870: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry)] */ + if (v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex < v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPMaxScheduleEntryType(stream, &v2gPMaxScheduleType->PMaxScheduleEntry.array [v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); + } + grammarID = 1871; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1871: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ + if (v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex < v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPMaxScheduleEntryType(stream, &v2gPMaxScheduleType->PMaxScheduleEntry.array [v2gPMaxScheduleType_PMaxScheduleEntry_currArrayIndex++]); + } + grammarID = 1871; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSensorPackageType(bitstream_t* stream, struct v2gSensorPackageType* v2gSensorPackageType) { + int grammarID = 1872; + int done = 0; + + unsigned int v2gSensorPackageType_SensorMeasurements_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 1872: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gSensorPackageType->PackageIndex); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1873; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1873: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements)] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1874; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1874: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1875; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1875: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1876; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1876: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1877; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1877: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1878; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1878: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1879; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1879: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1880; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1880: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1881; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1881: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1882; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1882: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1883; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1883: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1884; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1884: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1885; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1885: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1886; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1886: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1887; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1887: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1888; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1888: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1889; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1889: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1890; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1890: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1891; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1891: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1892; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1892: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1893; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1893: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1894; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1894: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1895; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1895: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1896; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1896: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1897; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1897: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1898; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1898: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1899; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1899: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1900; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1900: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1901; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1901: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1902; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1902: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1903; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1903: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1904; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1904: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1905; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1905: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1906; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1906: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1907; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1907: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1908; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1908: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1909; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1909: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1910; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1910: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1911; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1911: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1912; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1912: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1913; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1913: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1914; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1914: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1915; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1915: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1916; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1916: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1917; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1917: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1918; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1918: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1919; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1919: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1920; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1920: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1921; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1921: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1922; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1922: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1923; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1923: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1924; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1924: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1925; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1925: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1926; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1926: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1927; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1927: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1928; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1928: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1929; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1929: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1930; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1930: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1931; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1931: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1932; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1932: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1933; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1933: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1934; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1934: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1935; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1935: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1936; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1936: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1937; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1937: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1938; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1938: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1939; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1939: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1940; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1940: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1941; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1941: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1942; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1942: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1943; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1943: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1944; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1944: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1945; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1945: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1946; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1946: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1947; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1947: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1948; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1948: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1949; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1949: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1950; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1950: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1951; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1951: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1952; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1952: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1953; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1953: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1954; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1954: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1955; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1955: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1956; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1956: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1957; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1957: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1958; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1958: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1959; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1959: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1960; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1960: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1961; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1961: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1962; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1962: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1963; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1963: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1964; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1964: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1965; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1965: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1966; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1966: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1967; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1967: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1968; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1968: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1969; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1969: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1970; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1970: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1971; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1971: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1972; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1972: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1973; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1973: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1974; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1974: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1975; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1975: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1976; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1976: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1977; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1977: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1978; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1978: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1979; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1979: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1980; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1980: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1981; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1981: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1982; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1982: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1983; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1983: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1984; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1984: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1985; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1985: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1986; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1986: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1987; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1987: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1988; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1988: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1989; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1989: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1990; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1990: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1991; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1991: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1992; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1992: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1993; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1993: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1994; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1994: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1995; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1995: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1996; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1996: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1997; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1997: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1998; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1998: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 1999; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1999: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2000; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2000: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2001; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2001: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2002; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2002: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2003; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2003: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2004; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2004: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2005; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2005: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2006; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2006: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2007; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2007: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2008; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2008: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2009; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2009: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2010; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2010: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2011; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2011: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2012; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2012: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2013; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2013: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2014; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2014: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2015; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2015: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2016; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2016: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2017; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2017: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2018; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2018: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2019; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2019: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2020; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2020: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2021; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2021: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2022; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2022: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2023; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2023: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2024; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2024: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2025; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2025: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2026; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2026: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2027; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2027: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2028; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2028: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2029; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2029: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2030; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2030: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2031; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2031: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2032; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2032: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2033; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2033: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2034; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2034: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2035; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2035: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2036; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2036: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2037; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2037: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2038; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2038: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2039; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2039: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2040; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2040: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2041; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2041: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2042; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2042: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2043; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2043: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2044; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2044: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2045; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2045: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2046; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2046: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2047; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2047: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2048; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2048: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2049; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2049: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2050; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2050: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2051; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2051: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2052; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2052: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2053; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2053: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2054; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2054: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2055; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2055: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2056; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2056: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2057; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2057: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2058; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2058: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2059; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2059: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2060; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2060: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2061; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2061: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2062; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2062: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2063; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2063: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2064; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2064: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2065; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2065: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2066; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2066: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2067; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2067: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2068; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2068: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2069; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2069: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2070; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2070: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2071; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2071: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2072; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2072: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2073; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2073: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2074; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2074: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2075; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2075: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2076; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2076: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2077; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2077: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2078; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2078: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2079; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2079: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2080; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2080: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2081; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2081: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2082; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2082: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2083; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2083: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2084; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2084: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2085; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2085: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2086; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2086: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2087; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2087: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2088; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2088: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2089; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2089: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2090; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2090: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2091; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2091: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2092; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2092: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2093; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2093: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2094; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2094: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2095; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2095: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2096; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2096: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2097; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2097: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2098; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2098: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2099; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2099: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2100; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2100: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2101; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2101: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2102; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2102: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2103; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2103: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2104; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2104: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2105; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2105: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2106; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2106: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2107; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2107: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2108; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2108: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2109; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2109: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2110; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2110: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2111; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2111: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2112; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2112: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2113; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2113: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2114; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2114: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2115; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2115: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2116; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2116: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2117; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2117: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2118; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2118: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2119; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2119: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2120; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2120: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2121; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2121: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2122; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2122: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2123; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2123: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2124; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2124: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2125; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2125: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2126; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2126: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2127; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2127: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ + if (v2gSensorPackageType_SensorMeasurements_currArrayIndex < v2gSensorPackageType->SensorMeasurements.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &v2gSensorPackageType->SensorMeasurements.array [v2gSensorPackageType_SensorMeasurements_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDC_EVSEBidirectionalParameterType(bitstream_t* stream, struct v2gDC_EVSEBidirectionalParameterType* v2gDC_EVSEBidirectionalParameterType) { + int grammarID = 2128; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2128: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumChargePower ); + } + grammarID = 2129; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2129: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent ); + } + grammarID = 2130; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2130: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMinimumChargeCurrent ); + } + grammarID = 2131; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2131: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumVoltage ); + } + grammarID = 2132; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2132: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMinimumVoltage ); + } + grammarID = 2133; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2133: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ + if ( v2gDC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance ); + } + grammarID = 2134; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple ); + } + grammarID = 2135; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2134: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple ); + } + grammarID = 2135; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2135: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ + if ( v2gDC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered ); + } + grammarID = 2136; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower ); + } + grammarID = 2137; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2136: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower ); + } + grammarID = 2137; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2137: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent ); + } + grammarID = 2138; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2138: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEBidirectionalParameterType->EVSEMinimumDischargeCurrent ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDC_EVSEChargeParameterType(bitstream_t* stream, struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType) { + int grammarID = 2139; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2139: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumChargePower ); + } + grammarID = 2140; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2140: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumChargeCurrent ); + } + grammarID = 2141; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2141: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMinimumChargeCurrent ); + } + grammarID = 2142; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2142: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMaximumVoltage ); + } + grammarID = 2143; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2143: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEMinimumVoltage ); + } + grammarID = 2144; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2144: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ + if ( v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance ); + } + grammarID = 2145; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); + } + grammarID = 2146; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2145: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEPeakCurrentRipple ); + } + grammarID = 2146; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2146: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ + if ( v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gConnectChargingDeviceReqType(bitstream_t* stream, struct v2gConnectChargingDeviceReqType* v2gConnectChargingDeviceReqType) { + int grammarID = 2147; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2147: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gConnectChargingDeviceReqType->EVElectricalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 917; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 917: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gConnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCertificateUpdateReqType(bitstream_t* stream, struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType) { + int grammarID = 2148; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2148: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateUpdateReqType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCertificateUpdateReqType->Id.characters, v2gCertificateUpdateReqType->Id.charactersLen); + } + } + grammarID = 2149; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2149: + /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gCertificateChainType(stream, &v2gCertificateUpdateReqType->ContractSignatureCertChain ); + } + grammarID = 2150; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2150: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCertificateUpdateReqType->eMAID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCertificateUpdateReqType->eMAID.characters, v2gCertificateUpdateReqType->eMAID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1851; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1851: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gListOfRootCertificateIDsType(stream, &v2gCertificateUpdateReqType->ListOfRootCertificateIDs ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gKeyInfoType(bitstream_t* stream, struct v2gKeyInfoType* v2gKeyInfoType) { + int grammarID = 2151; + int done = 0; + int wcDone = 0; + + unsigned int v2gKeyInfoType_KeyName_currArrayIndex = 0; + unsigned int v2gKeyInfoType_KeyValue_currArrayIndex = 0; + unsigned int v2gKeyInfoType_RetrievalMethod_currArrayIndex = 0; + unsigned int v2gKeyInfoType_X509Data_currArrayIndex = 0; + unsigned int v2gKeyInfoType_PGPData_currArrayIndex = 0; + unsigned int v2gKeyInfoType_SPKIData_currArrayIndex = 0; + unsigned int v2gKeyInfoType_MgmtData_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 2151: + /* 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]] */ + if ( v2gKeyInfoType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->Id.characters, v2gKeyInfoType->Id.charactersLen); + } + } + grammarID = 2152; + } else if (v2gKeyInfoType_KeyName_currArrayIndex < v2gKeyInfoType->KeyName.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].characters, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen); + v2gKeyInfoType_KeyName_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2153; + } else if (v2gKeyInfoType_KeyValue_currArrayIndex < v2gKeyInfoType->KeyValue.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + errn = encode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array [v2gKeyInfoType_KeyValue_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_RetrievalMethod_currArrayIndex < v2gKeyInfoType->RetrievalMethod.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + errn = encode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array [v2gKeyInfoType_RetrievalMethod_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_X509Data_currArrayIndex < v2gKeyInfoType->X509Data.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + errn = encode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array [v2gKeyInfoType_X509Data_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_PGPData_currArrayIndex < v2gKeyInfoType->PGPData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + errn = encode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array [v2gKeyInfoType_PGPData_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_SPKIData_currArrayIndex < v2gKeyInfoType->SPKIData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + errn = encode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array [v2gKeyInfoType_SPKIData_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_MgmtData_currArrayIndex < v2gKeyInfoType->MgmtData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 7); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].characters, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen); + v2gKeyInfoType_MgmtData_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2153; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 2153; + } else if ( v2gKeyInfoType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 9); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->ANY.characters, v2gKeyInfoType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 2154; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2152: + /* 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]] */ + if (v2gKeyInfoType_KeyName_currArrayIndex < v2gKeyInfoType->KeyName.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].characters, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen); + v2gKeyInfoType_KeyName_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2153; + } else if (v2gKeyInfoType_KeyValue_currArrayIndex < v2gKeyInfoType->KeyValue.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + errn = encode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array [v2gKeyInfoType_KeyValue_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_RetrievalMethod_currArrayIndex < v2gKeyInfoType->RetrievalMethod.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + errn = encode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array [v2gKeyInfoType_RetrievalMethod_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_X509Data_currArrayIndex < v2gKeyInfoType->X509Data.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + errn = encode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array [v2gKeyInfoType_X509Data_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_PGPData_currArrayIndex < v2gKeyInfoType->PGPData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + errn = encode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array [v2gKeyInfoType_PGPData_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_SPKIData_currArrayIndex < v2gKeyInfoType->SPKIData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + errn = encode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array [v2gKeyInfoType_SPKIData_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_MgmtData_currArrayIndex < v2gKeyInfoType->MgmtData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].characters, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen); + v2gKeyInfoType_MgmtData_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2153; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 2153; + } else if ( v2gKeyInfoType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 8); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->ANY.characters, v2gKeyInfoType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 2154; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2153: + /* 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]] */ + if (v2gKeyInfoType_KeyName_currArrayIndex < v2gKeyInfoType->KeyName.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].characters, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen); + v2gKeyInfoType_KeyName_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2153; + } else if (v2gKeyInfoType_KeyValue_currArrayIndex < v2gKeyInfoType->KeyValue.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + errn = encode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array [v2gKeyInfoType_KeyValue_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_RetrievalMethod_currArrayIndex < v2gKeyInfoType->RetrievalMethod.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + errn = encode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array [v2gKeyInfoType_RetrievalMethod_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_X509Data_currArrayIndex < v2gKeyInfoType->X509Data.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + errn = encode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array [v2gKeyInfoType_X509Data_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_PGPData_currArrayIndex < v2gKeyInfoType->PGPData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + errn = encode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array [v2gKeyInfoType_PGPData_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_SPKIData_currArrayIndex < v2gKeyInfoType->SPKIData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + errn = encode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array [v2gKeyInfoType_SPKIData_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_MgmtData_currArrayIndex < v2gKeyInfoType->MgmtData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].characters, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen); + v2gKeyInfoType_MgmtData_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2153; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 2153; + } else if ( v2gKeyInfoType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 4, 8); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gKeyInfoType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 9); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->ANY.characters, v2gKeyInfoType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 2153; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2154: + /* 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]] */ + if (v2gKeyInfoType_KeyName_currArrayIndex < v2gKeyInfoType->KeyName.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].characters, v2gKeyInfoType->KeyName.array[v2gKeyInfoType_KeyName_currArrayIndex].charactersLen); + v2gKeyInfoType_KeyName_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2153; + } else if (v2gKeyInfoType_KeyValue_currArrayIndex < v2gKeyInfoType->KeyValue.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + errn = encode_v2gKeyValueType(stream, &v2gKeyInfoType->KeyValue.array [v2gKeyInfoType_KeyValue_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_RetrievalMethod_currArrayIndex < v2gKeyInfoType->RetrievalMethod.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + errn = encode_v2gRetrievalMethodType(stream, &v2gKeyInfoType->RetrievalMethod.array [v2gKeyInfoType_RetrievalMethod_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_X509Data_currArrayIndex < v2gKeyInfoType->X509Data.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + errn = encode_v2gX509DataType(stream, &v2gKeyInfoType->X509Data.array [v2gKeyInfoType_X509Data_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_PGPData_currArrayIndex < v2gKeyInfoType->PGPData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + errn = encode_v2gPGPDataType(stream, &v2gKeyInfoType->PGPData.array [v2gKeyInfoType_PGPData_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_SPKIData_currArrayIndex < v2gKeyInfoType->SPKIData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + errn = encode_v2gSPKIDataType(stream, &v2gKeyInfoType->SPKIData.array [v2gKeyInfoType_SPKIData_currArrayIndex++]); + } + grammarID = 2153; + } else if (v2gKeyInfoType_MgmtData_currArrayIndex < v2gKeyInfoType->MgmtData.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].characters, v2gKeyInfoType->MgmtData.array[v2gKeyInfoType_MgmtData_currArrayIndex].charactersLen); + v2gKeyInfoType_MgmtData_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2153; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 2153; + } else if ( v2gKeyInfoType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 8); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyInfoType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyInfoType->ANY.characters, v2gKeyInfoType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 2154; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gWeldingDetectionResType(bitstream_t* stream, struct v2gWeldingDetectionResType* v2gWeldingDetectionResType) { + int grammarID = 1575; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1575: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gWeldingDetectionResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1576; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1576: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + if ( v2gWeldingDetectionResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gWeldingDetectionResType->EVSEStatus ); + } + grammarID = 1577; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWeldingDetectionResType->EVSEPresentVoltage ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1577: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWeldingDetectionResType->EVSEPresentVoltage ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPhysicalValueType(bitstream_t* stream, struct v2gPhysicalValueType* v2gPhysicalValueType) { + int grammarID = 2155; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2155: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(v2gPhysicalValueType->Exponent + 3)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2156; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2156: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger16(stream, v2gPhysicalValueType->Value); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPaymentServiceSelectionReqType(bitstream_t* stream, struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType) { + int grammarID = 2157; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2157: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gPaymentServiceSelectionReqType->SelectedPaymentOption); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2158; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2158: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gPaymentServiceSelectionReqType->SelectedEnergyTransferService ); + } + grammarID = 2159; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2159: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), END_ELEMENT] */ + if ( v2gPaymentServiceSelectionReqType->SelectedVASList_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceListType(stream, &v2gPaymentServiceSelectionReqType->SelectedVASList ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSensorListType(bitstream_t* stream, struct v2gSensorListType* v2gSensorListType) { + int grammarID = 2160; + int done = 0; + + unsigned int v2gSensorListType_Sensor_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 2160: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor)] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2161; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2161: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2162; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2162: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2163; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2163: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2164; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2164: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2165; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2165: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2166; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2166: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2167; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2167: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2168; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2168: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2169; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2169: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2170; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2170: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2171; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2171: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2172; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2172: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2173; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2173: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2174; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2174: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2175; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2175: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2176; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2176: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2177; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2177: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2178; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2178: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2179; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2179: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2180; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2180: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2181; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2181: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2182; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2182: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2183; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2183: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2184; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2184: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2185; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2185: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2186; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2186: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2187; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2187: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2188; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2188: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2189; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2189: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2190; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2190: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2191; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2191: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2192; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2192: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2193; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2193: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2194; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2194: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2195; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2195: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2196; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2196: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2197; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2197: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2198; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2198: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2199; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2199: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2200; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2200: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2201; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2201: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2202; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2202: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2203; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2203: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2204; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2204: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2205; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2205: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2206; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2206: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2207; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2207: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2208; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2208: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2209; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2209: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2210; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2210: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2211; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2211: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2212; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2212: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2213; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2213: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2214; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2214: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2215; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2215: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2216; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2216: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2217; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2217: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2218; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2218: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2219; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2219: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2220; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2220: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2221; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2221: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2222; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2222: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2223; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2223: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2224; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2224: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2225; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2225: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2226; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2226: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2227; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2227: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2228; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2228: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2229; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2229: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2230; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2230: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2231; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2231: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2232; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2232: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2233; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2233: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2234; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2234: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2235; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2235: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2236; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2236: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2237; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2237: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2238; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2238: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2239; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2239: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2240; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2240: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2241; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2241: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2242; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2242: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2243; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2243: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2244; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2244: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2245; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2245: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2246; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2246: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2247; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2247: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2248; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2248: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2249; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2249: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2250; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2250: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2251; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2251: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2252; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2252: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2253; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2253: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2254; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2254: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2255; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2255: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2256; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2256: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2257; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2257: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2258; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2258: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2259; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2259: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2260; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2260: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2261; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2261: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2262; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2262: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2263; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2263: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2264; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2264: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2265; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2265: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2266; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2266: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2267; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2267: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2268; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2268: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2269; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2269: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2270; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2270: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2271; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2271: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2272; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2272: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2273; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2273: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2274; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2274: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2275; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2275: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2276; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2276: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2277; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2277: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2278; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2278: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2279; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2279: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2280; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2280: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2281; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2281: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2282; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2282: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2283; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2283: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2284; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2284: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2285; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2285: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2286; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2286: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2287; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2287: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2288; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2288: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2289; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2289: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2290; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2290: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2291; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2291: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2292; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2292: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2293; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2293: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2294; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2294: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2295; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2295: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2296; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2296: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2297; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2297: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2298; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2298: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2299; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2299: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2300; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2300: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2301; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2301: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2302; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2302: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2303; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2303: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2304; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2304: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2305; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2305: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2306; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2306: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2307; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2307: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2308; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2308: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2309; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2309: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2310; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2310: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2311; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2311: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2312; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2312: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2313; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2313: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2314; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2314: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2315; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2315: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2316; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2316: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2317; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2317: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2318; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2318: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2319; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2319: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2320; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2320: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2321; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2321: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2322; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2322: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2323; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2323: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2324; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2324: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2325; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2325: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2326; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2326: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2327; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2327: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2328; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2328: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2329; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2329: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2330; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2330: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2331; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2331: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2332; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2332: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2333; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2333: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2334; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2334: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2335; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2335: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2336; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2336: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2337; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2337: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2338; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2338: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2339; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2339: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2340; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2340: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2341; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2341: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2342; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2342: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2343; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2343: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2344; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2344: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2345; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2345: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2346; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2346: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2347; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2347: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2348; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2348: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2349; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2349: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2350; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2350: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2351; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2351: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2352; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2352: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2353; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2353: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2354; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2354: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2355; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2355: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2356; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2356: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2357; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2357: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2358; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2358: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2359; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2359: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2360; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2360: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2361; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2361: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2362; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2362: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2363; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2363: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2364; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2364: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2365; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2365: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2366; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2366: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2367; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2367: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2368; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2368: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2369; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2369: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2370; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2370: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2371; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2371: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2372; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2372: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2373; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2373: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2374; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2374: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2375; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2375: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2376; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2376: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2377; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2377: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2378; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2378: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2379; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2379: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2380; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2380: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2381; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2381: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2382; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2382: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2383; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2383: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2384; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2384: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2385; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2385: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2386; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2386: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2387; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2387: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2388; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2388: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2389; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2389: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2390; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2390: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2391; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2391: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2392; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2392: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2393; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2393: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2394; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2394: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2395; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2395: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2396; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2396: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2397; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2397: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2398; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2398: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2399; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2399: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2400; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2400: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2401; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2401: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2402; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2402: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2403; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2403: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2404; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2404: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2405; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2405: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2406; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2406: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2407; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2407: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2408; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2408: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2409; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2409: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2410; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2410: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2411; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2411: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2412; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2412: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2413; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2413: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2414; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2414: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ + if (v2gSensorListType_Sensor_currArrayIndex < v2gSensorListType->Sensor.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &v2gSensorListType->Sensor.array [v2gSensorListType_Sensor_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPairingReqType(bitstream_t* stream, struct v2gPairingReqType* v2gPairingReqType) { + int grammarID = 2415; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2415: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gPairingReqType->EVProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1223; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1223: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ + if ( v2gPairingReqType->PairingParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gPairingReqType->PairingParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDisconnectChargingDeviceReqType(bitstream_t* stream, struct v2gDisconnectChargingDeviceReqType* v2gDisconnectChargingDeviceReqType) { + int grammarID = 2147; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2147: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gDisconnectChargingDeviceReqType->EVElectricalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 917; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 917: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gDisconnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gParameterType(bitstream_t* stream, struct v2gParameterType* v2gParameterType) { + int grammarID = 2416; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2416: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Name)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gParameterType->Name.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gParameterType->Name.characters, v2gParameterType->Name.charactersLen); + } + } + grammarID = 2417; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2417: + /* 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)] */ + if ( v2gParameterType->boolValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gParameterType->boolValue); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if ( v2gParameterType->byteValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gParameterType->byteValue + 128)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if ( v2gParameterType->shortValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger16(stream, v2gParameterType->shortValue); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if ( v2gParameterType->intValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger32(stream, v2gParameterType->intValue); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if ( v2gParameterType->physicalValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gParameterType->physicalValue ); + } + grammarID = 2; + } else if ( v2gParameterType->stringValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gParameterType->stringValue.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gParameterType->stringValue.characters, v2gParameterType->stringValue.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gEVSEFinePositioningParametersType(bitstream_t* stream, struct v2gEVSEFinePositioningParametersType* v2gEVSEFinePositioningParametersType) { + int grammarID = 4; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAC_EVSEChargeParameterType(bitstream_t* stream, struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType) { + int grammarID = 2418; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2418: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSEMaximumChargeCurrent ); + } + grammarID = 2419; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2419: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSENominalVoltage ); + } + grammarID = 578; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 578: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_EVSEChargeParameterType->EVSENominalFrequency ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gServiceDiscoveryReqType(bitstream_t* stream, struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType) { + int grammarID = 2420; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2420: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), END_ELEMENT] */ + if ( v2gServiceDiscoveryReqType->SupportedServiceIDs_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceIDListType(stream, &v2gServiceDiscoveryReqType->SupportedServiceIDs ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gConnectChargingDeviceResType(bitstream_t* stream, struct v2gConnectChargingDeviceResType* v2gConnectChargingDeviceResType) { + int grammarID = 2421; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2421: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gConnectChargingDeviceResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2422; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2422: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gConnectChargingDeviceResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gConnectChargingDeviceResType->EVSEStatus ); + } + grammarID = 2423; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gConnectChargingDeviceResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2424; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2423: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gConnectChargingDeviceResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2424; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2424: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gConnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1519; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1519: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gConnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPowerDemandReqType(bitstream_t* stream, struct v2gPowerDemandReqType* v2gPowerDemandReqType) { + int grammarID = 2425; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2425: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetEnergyRequest ); + } + grammarID = 2426; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2426: + /* 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)] */ + if ( v2gPowerDemandReqType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVMaximumEnergyRequest ); + } + grammarID = 2427; + } else if ( v2gPowerDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVMinimumEnergyRequest ); + } + grammarID = 2428; + } else if ( v2gPowerDemandReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gPowerDemandReqType->DisplayParameters ); + } + grammarID = 2429; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetPower ); + } + grammarID = 2430; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2427: + /* 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)] */ + if ( v2gPowerDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVMinimumEnergyRequest ); + } + grammarID = 2428; + } else if ( v2gPowerDemandReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gPowerDemandReqType->DisplayParameters ); + } + grammarID = 2429; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetPower ); + } + grammarID = 2430; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2428: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ + if ( v2gPowerDemandReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gPowerDemandReqType->DisplayParameters ); + } + grammarID = 2429; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetPower ); + } + grammarID = 2430; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2429: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVTargetPower ); + } + grammarID = 2430; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2430: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandReqType->EVInputPower ); + } + grammarID = 2431; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2431: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ + if ( v2gPowerDemandReqType->PowerDemandParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gPowerDemandReqType->PowerDemandParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gLFA_EVFinePositioningParametersType(bitstream_t* stream, struct v2gLFA_EVFinePositioningParametersType* v2gLFA_EVFinePositioningParametersType) { + int grammarID = 57; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 57: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gLFA_EVFinePositioningParametersType->NumberOfSignalPackages - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 58; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 58: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageListType(stream, &v2gLFA_EVFinePositioningParametersType->SensorPackageList ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gTransformType(bitstream_t* stream, struct v2gTransformType* v2gTransformType) { + int grammarID = 2432; + int done = 0; + int wcDone = 0; + + unsigned int v2gTransformType_XPath_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 2432: + /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gTransformType->Algorithm.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gTransformType->Algorithm.characters, v2gTransformType->Algorithm.charactersLen); + } + } + grammarID = 2433; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2433: + /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (v2gTransformType_XPath_currArrayIndex < v2gTransformType->XPath.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].characters, v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].charactersLen); + v2gTransformType_XPath_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2434; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 2434; + } else if ( v2gTransformType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gTransformType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gTransformType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gTransformType->ANY.characters, v2gTransformType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 2434; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2434: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (v2gTransformType_XPath_currArrayIndex < v2gTransformType->XPath.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].characters, v2gTransformType->XPath.array[v2gTransformType_XPath_currArrayIndex].charactersLen); + v2gTransformType_XPath_currArrayIndex++; + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2434; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 2434; + } else if ( v2gTransformType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gTransformType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gTransformType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gTransformType->ANY.characters, v2gTransformType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 2434; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gObjectType(bitstream_t* stream, struct v2gObjectType* v2gObjectType) { + int grammarID = 2435; + int done = 0; + int wcDone = 0; + + + while(!done) { + switch(grammarID) { + case 2435: + /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if ( v2gObjectType->Encoding_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->Encoding.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->Encoding.characters, v2gObjectType->Encoding.charactersLen); + } + } + grammarID = 2436; + } else if ( v2gObjectType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->Id.characters, v2gObjectType->Id.charactersLen); + } + } + grammarID = 2437; + } else if ( v2gObjectType->MimeType_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->MimeType.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->MimeType.characters, v2gObjectType->MimeType.charactersLen); + } + } + grammarID = 1848; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gObjectType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gObjectType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->ANY.characters, v2gObjectType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2436: + /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if ( v2gObjectType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->Id.characters, v2gObjectType->Id.charactersLen); + } + } + grammarID = 2437; + } else if ( v2gObjectType->MimeType_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->MimeType.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->MimeType.characters, v2gObjectType->MimeType.charactersLen); + } + } + grammarID = 1848; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gObjectType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gObjectType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->ANY.characters, v2gObjectType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2437: + /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if ( v2gObjectType->MimeType_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->MimeType.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->MimeType.characters, v2gObjectType->MimeType.charactersLen); + } + } + grammarID = 1848; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gObjectType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gObjectType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->ANY.characters, v2gObjectType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1848: + /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gObjectType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gObjectType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->ANY.characters, v2gObjectType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 904: + /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gObjectType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gObjectType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gObjectType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gObjectType->ANY.characters, v2gObjectType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPowerDeliveryReqType(bitstream_t* stream, struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType) { + int grammarID = 2438; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2438: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gPowerDeliveryReqType->ChargeProgress); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2439; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2439: + /* 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] */ + if ( v2gPowerDeliveryReqType->EVOperation_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gPowerDeliveryReqType->EVOperation); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2440; + } else if ( v2gPowerDeliveryReqType->SAScheduleTupleID_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gPowerDeliveryReqType->SAScheduleTupleID - 1)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2441; + } else if ( v2gPowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gChargingProfileType(stream, &v2gPowerDeliveryReqType->ChargingProfile ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2440: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ + if ( v2gPowerDeliveryReqType->SAScheduleTupleID_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gPowerDeliveryReqType->SAScheduleTupleID - 1)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2441; + } else if ( v2gPowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gChargingProfileType(stream, &v2gPowerDeliveryReqType->ChargingProfile ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2441: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ + if ( v2gPowerDeliveryReqType->ChargingProfile_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gChargingProfileType(stream, &v2gPowerDeliveryReqType->ChargingProfile ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gGeneric_EVSEFinePositioningParametersType(bitstream_t* stream, struct v2gGeneric_EVSEFinePositioningParametersType* v2gGeneric_EVSEFinePositioningParametersType) { + int grammarID = 586; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 586: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gGeneric_EVSEFinePositioningParametersType->GenericParameters ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSensorPackageListType(bitstream_t* stream, struct v2gSensorPackageListType* v2gSensorPackageListType) { + int grammarID = 2442; + int done = 0; + + unsigned int v2gSensorPackageListType_SensorPackage_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 2442: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage)] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2443; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2443: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2444; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2444: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2445; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2445: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2446; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2446: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2447; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2447: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2448; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2448: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2449; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2449: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2450; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2450: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2451; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2451: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2452; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2452: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2453; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2453: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2454; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2454: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2455; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2455: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2456; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2456: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2457; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2457: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2458; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2458: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2459; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2459: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2460; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2460: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2461; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2461: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2462; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2462: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2463; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2463: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2464; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2464: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2465; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2465: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2466; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2466: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2467; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2467: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2468; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2468: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2469; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2469: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2470; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2470: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2471; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2471: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2472; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2472: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2473; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2473: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2474; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2474: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2475; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2475: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2476; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2476: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2477; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2477: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2478; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2478: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2479; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2479: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2480; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2480: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2481; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2481: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2482; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2482: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2483; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2483: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2484; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2484: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2485; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2485: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2486; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2486: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2487; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2487: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2488; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2488: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2489; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2489: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2490; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2490: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2491; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2491: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2492; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2492: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2493; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2493: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2494; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2494: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2495; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2495: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2496; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2496: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2497; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2497: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2498; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2498: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2499; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2499: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2500; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2500: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2501; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2501: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2502; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2502: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2503; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2503: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2504; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2504: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2505; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2505: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2506; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2506: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2507; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2507: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2508; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2508: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2509; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2509: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2510; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2510: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2511; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2511: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2512; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2512: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2513; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2513: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2514; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2514: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2515; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2515: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2516; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2516: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2517; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2517: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2518; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2518: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2519; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2519: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2520; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2520: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2521; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2521: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2522; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2522: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2523; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2523: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2524; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2524: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2525; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2525: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2526; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2526: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2527; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2527: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2528; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2528: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2529; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2529: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2530; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2530: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2531; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2531: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2532; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2532: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2533; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2533: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2534; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2534: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2535; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2535: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2536; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2536: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2537; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2537: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2538; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2538: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2539; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2539: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2540; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2540: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2541; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2541: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2542; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2542: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2543; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2543: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2544; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2544: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2545; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2545: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2546; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2546: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2547; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2547: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2548; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2548: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2549; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2549: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2550; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2550: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2551; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2551: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2552; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2552: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2553; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2553: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2554; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2554: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2555; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2555: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2556; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2556: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2557; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2557: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2558; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2558: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2559; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2559: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2560; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2560: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2561; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2561: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2562; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2562: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2563; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2563: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2564; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2564: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2565; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2565: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2566; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2566: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2567; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2567: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2568; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2568: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2569; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2569: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2570; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2570: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2571; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2571: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2572; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2572: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2573; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2573: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2574; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2574: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2575; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2575: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2576; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2576: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2577; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2577: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2578; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2578: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2579; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2579: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2580; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2580: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2581; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2581: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2582; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2582: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2583; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2583: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2584; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2584: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2585; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2585: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2586; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2586: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2587; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2587: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2588; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2588: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2589; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2589: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2590; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2590: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2591; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2591: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2592; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2592: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2593; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2593: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2594; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2594: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2595; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2595: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2596; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2596: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2597; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2597: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2598; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2598: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2599; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2599: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2600; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2600: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2601; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2601: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2602; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2602: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2603; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2603: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2604; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2604: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2605; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2605: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2606; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2606: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2607; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2607: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2608; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2608: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2609; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2609: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2610; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2610: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2611; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2611: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2612; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2612: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2613; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2613: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2614; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2614: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2615; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2615: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2616; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2616: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2617; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2617: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2618; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2618: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2619; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2619: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2620; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2620: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2621; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2621: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2622; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2622: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2623; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2623: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2624; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2624: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2625; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2625: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2626; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2626: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2627; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2627: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2628; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2628: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2629; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2629: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2630; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2630: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2631; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2631: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2632; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2632: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2633; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2633: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2634; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2634: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2635; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2635: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2636; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2636: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2637; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2637: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2638; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2638: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2639; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2639: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2640; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2640: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2641; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2641: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2642; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2642: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2643; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2643: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2644; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2644: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2645; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2645: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2646; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2646: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2647; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2647: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2648; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2648: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2649; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2649: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2650; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2650: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2651; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2651: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2652; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2652: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2653; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2653: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2654; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2654: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2655; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2655: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2656; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2656: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2657; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2657: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2658; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2658: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2659; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2659: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2660; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2660: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2661; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2661: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2662; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2662: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2663; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2663: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2664; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2664: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2665; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2665: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2666; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2666: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2667; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2667: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2668; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2668: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2669; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2669: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2670; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2670: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2671; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2671: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2672; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2672: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2673; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2673: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2674; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2674: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2675; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2675: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2676; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2676: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2677; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2677: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2678; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2678: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2679; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2679: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2680; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2680: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2681; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2681: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2682; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2682: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2683; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2683: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2684; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2684: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2685; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2685: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2686; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2686: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2687; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2687: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2688; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2688: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2689; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2689: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2690; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2690: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2691; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2691: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2692; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2692: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2693; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2693: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2694; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2694: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2695; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2695: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2696; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2696: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ + if (v2gSensorPackageListType_SensorPackage_currArrayIndex < v2gSensorPackageListType->SensorPackage.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &v2gSensorPackageListType->SensorPackage.array [v2gSensorPackageListType_SensorPackage_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPaymentDetailsResType(bitstream_t* stream, struct v2gPaymentDetailsResType* v2gPaymentDetailsResType) { + int grammarID = 2697; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2697: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gPaymentDetailsResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2698; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2698: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ + if ( v2gPaymentDetailsResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gPaymentDetailsResType->EVSEStatus ); + } + grammarID = 2699; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPaymentDetailsResType->GenChallenge.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gPaymentDetailsResType->GenChallenge.bytes, v2gPaymentDetailsResType->GenChallenge.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2700; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2699: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPaymentDetailsResType->GenChallenge.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gPaymentDetailsResType->GenChallenge.bytes, v2gPaymentDetailsResType->GenChallenge.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2700; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2700: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger64(stream, v2gPaymentDetailsResType->EVSETimeStamp); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAnonType_V2G_Message(bitstream_t* stream, struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message) { + int grammarID = 2701; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2701: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gMessageHeaderType(stream, &v2gAnonType_V2G_Message->Header ); + } + grammarID = 2702; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2702: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gBodyType(stream, &v2gAnonType_V2G_Message->Body ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gAC_BidirectionalControlReqType(bitstream_t* stream, struct v2gAC_BidirectionalControlReqType* v2gAC_BidirectionalControlReqType) { + int grammarID = 2703; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2703: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVTargetEnergyRequest ); + } + grammarID = 2704; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2704: + /* 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)] */ + if ( v2gAC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumEnergyRequest ); + } + grammarID = 2705; + } else if ( v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest ); + } + grammarID = 2706; + } else if ( v2gAC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gAC_BidirectionalControlReqType->DisplayParameters ); + } + grammarID = 2707; + } else if ( v2gAC_BidirectionalControlReqType->EVOperation_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gAC_BidirectionalControlReqType->EVOperation); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2708; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower ); + } + grammarID = 2709; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2705: + /* 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)] */ + if ( v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumEnergyRequest ); + } + grammarID = 2706; + } else if ( v2gAC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gAC_BidirectionalControlReqType->DisplayParameters ); + } + grammarID = 2707; + } else if ( v2gAC_BidirectionalControlReqType->EVOperation_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gAC_BidirectionalControlReqType->EVOperation); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2708; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower ); + } + grammarID = 2709; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2706: + /* 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)] */ + if ( v2gAC_BidirectionalControlReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gAC_BidirectionalControlReqType->DisplayParameters ); + } + grammarID = 2707; + } else if ( v2gAC_BidirectionalControlReqType->EVOperation_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gAC_BidirectionalControlReqType->EVOperation); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2708; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower ); + } + grammarID = 2709; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2707: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ + if ( v2gAC_BidirectionalControlReqType->EVOperation_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gAC_BidirectionalControlReqType->EVOperation); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2708; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower ); + } + grammarID = 2709; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2708: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargePower ); + } + grammarID = 2709; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2709: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ + if ( v2gAC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumDischargePower ); + } + grammarID = 2710; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargeCurrent ); + } + grammarID = 2711; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2710: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumChargeCurrent ); + } + grammarID = 2711; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2711: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ + if ( v2gAC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMaximumDischargeCurrent ); + } + grammarID = 2712; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumChargeCurrent ); + } + grammarID = 2713; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2712: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumChargeCurrent ); + } + grammarID = 2713; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2713: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ + if ( v2gAC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVMinimumDischargeCurrent ); + } + grammarID = 2714; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVPresentActivePower ); + } + grammarID = 2715; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2714: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVPresentActivePower ); + } + grammarID = 2715; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2715: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gAC_BidirectionalControlReqType->EVPresentReactivePower ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gBodyBaseType(bitstream_t* stream, struct v2gBodyBaseType* v2gBodyBaseType) { + int grammarID = 4; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 4: + /* FirstStartTag[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSessionStopReqType(bitstream_t* stream, struct v2gSessionStopReqType* v2gSessionStopReqType) { + int grammarID = 2716; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2716: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gSessionStopReqType->ChargingSession); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gEntryType(bitstream_t* stream, struct v2gEntryType* v2gEntryType) { + int grammarID = 2717; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2717: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gRelativeTimeIntervalType(stream, &v2gEntryType->RelativeTimeInterval ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPowerDemandResType(bitstream_t* stream, struct v2gPowerDemandResType* v2gPowerDemandResType) { + int grammarID = 2718; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2718: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gPowerDemandResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2719; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2719: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ + if ( v2gPowerDemandResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gPowerDemandResType->EVSEStatus ); + } + grammarID = 2720; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandResType->EVSEOutputPower ); + } + grammarID = 2721; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2720: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gPowerDemandResType->EVSEOutputPower ); + } + grammarID = 2721; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2721: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPowerDemandResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gPowerDemandResType->EVSEID.characters, v2gPowerDemandResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2722; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2722: + /* 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] */ + if ( v2gPowerDemandResType->SAScheduleTupleID_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gPowerDemandResType->SAScheduleTupleID - 1)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2723; + } else if ( v2gPowerDemandResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gPowerDemandResType->MeterInfo ); + } + grammarID = 2724; + } else if ( v2gPowerDemandResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gPowerDemandResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2431; + } else if ( v2gPowerDemandResType->PowerDemandParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gPowerDemandResType->PowerDemandParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2723: + /* 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] */ + if ( v2gPowerDemandResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gPowerDemandResType->MeterInfo ); + } + grammarID = 2724; + } else if ( v2gPowerDemandResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gPowerDemandResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2431; + } else if ( v2gPowerDemandResType->PowerDemandParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gPowerDemandResType->PowerDemandParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2724: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ + if ( v2gPowerDemandResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gPowerDemandResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2431; + } else if ( v2gPowerDemandResType->PowerDemandParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gPowerDemandResType->PowerDemandParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2431: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ + if ( v2gPowerDemandResType->PowerDemandParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gParameterSetType(stream, &v2gPowerDemandResType->PowerDemandParameters ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSessionSetupResType(bitstream_t* stream, struct v2gSessionSetupResType* v2gSessionSetupResType) { + int grammarID = 2725; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2725: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gSessionSetupResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2726; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2726: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( v2gSessionSetupResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gSessionSetupResType->EVSEStatus ); + } + grammarID = 2727; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSessionSetupResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSessionSetupResType->EVSEID.characters, v2gSessionSetupResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2728; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2727: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSessionSetupResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gSessionSetupResType->EVSEID.characters, v2gSessionSetupResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2728; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2728: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp), END_ELEMENT] */ + if ( v2gSessionSetupResType->EVSETimeStamp_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger64(stream, v2gSessionSetupResType->EVSETimeStamp); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gVehicleCheckOutResType(bitstream_t* stream, struct v2gVehicleCheckOutResType* v2gVehicleCheckOutResType) { + int grammarID = 2729; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2729: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gVehicleCheckOutResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2730; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2730: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ + if ( v2gVehicleCheckOutResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gVehicleCheckOutResType->EVSEStatus ); + } + grammarID = 2731; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gVehicleCheckOutResType->EVSECheckOutStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2731: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gVehicleCheckOutResType->EVSECheckOutStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gKeyValueType(bitstream_t* stream, struct v2gKeyValueType* v2gKeyValueType) { + int grammarID = 2732; + int done = 0; + int wcDone = 0; + + + while(!done) { + switch(grammarID) { + case 2732: + /* 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]] */ + if ( v2gKeyValueType->DSAKeyValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gDSAKeyValueType(stream, &v2gKeyValueType->DSAKeyValue ); + } + grammarID = 2733; + } else if ( v2gKeyValueType->RSAKeyValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gRSAKeyValueType(stream, &v2gKeyValueType->RSAKeyValue ); + } + grammarID = 2733; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 2733; + } else if ( v2gKeyValueType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyValueType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyValueType->ANY.characters, v2gKeyValueType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 2734; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2733: + /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if ( v2gKeyValueType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gKeyValueType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyValueType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyValueType->ANY.characters, v2gKeyValueType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 2733; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2734: + /* 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]] */ + if ( v2gKeyValueType->DSAKeyValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gDSAKeyValueType(stream, &v2gKeyValueType->DSAKeyValue ); + } + grammarID = 2733; + } else if ( v2gKeyValueType->RSAKeyValue_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gRSAKeyValueType(stream, &v2gKeyValueType->RSAKeyValue ); + } + grammarID = 2733; + } else if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 2733; + } else if ( v2gKeyValueType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gKeyValueType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gKeyValueType->ANY.characters, v2gKeyValueType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 2734; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gEMAIDType(bitstream_t* stream, struct v2gEMAIDType* v2gEMAIDType) { + int grammarID = 2735; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2735: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gEMAIDType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gEMAIDType->Id.characters, v2gEMAIDType->Id.charactersLen); + } + } + grammarID = 2736; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2736: + /* StartTag[CHARACTERS[STRING]] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gEMAIDType->CONTENT.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gEMAIDType->CONTENT.characters, v2gEMAIDType->CONTENT.charactersLen); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gTransformsType(bitstream_t* stream, struct v2gTransformsType* v2gTransformsType) { + int grammarID = 2737; + int done = 0; + + unsigned int v2gTransformsType_Transform_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 2737: + /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ + if (v2gTransformsType_Transform_currArrayIndex < v2gTransformsType->Transform.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gTransformType(stream, &v2gTransformsType->Transform.array [v2gTransformsType_Transform_currArrayIndex++]); + } + grammarID = 2738; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2738: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ + if (v2gTransformsType_Transform_currArrayIndex < v2gTransformsType->Transform.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gTransformType(stream, &v2gTransformsType->Transform.array [v2gTransformsType_Transform_currArrayIndex++]); + } + grammarID = 2738; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCurrentDemandReqType(bitstream_t* stream, struct v2gCurrentDemandReqType* v2gCurrentDemandReqType) { + int grammarID = 2739; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2739: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetEnergyRequest ); + } + grammarID = 2740; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2740: + /* 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)] */ + if ( v2gCurrentDemandReqType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumEnergyRequest ); + } + grammarID = 2741; + } else if ( v2gCurrentDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMinimumEnergyRequest ); + } + grammarID = 2742; + } else if ( v2gCurrentDemandReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gCurrentDemandReqType->DisplayParameters ); + } + grammarID = 2743; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent ); + } + grammarID = 2744; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2741: + /* 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)] */ + if ( v2gCurrentDemandReqType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMinimumEnergyRequest ); + } + grammarID = 2742; + } else if ( v2gCurrentDemandReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gCurrentDemandReqType->DisplayParameters ); + } + grammarID = 2743; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent ); + } + grammarID = 2744; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2742: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ + if ( v2gCurrentDemandReqType->DisplayParameters_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &v2gCurrentDemandReqType->DisplayParameters ); + } + grammarID = 2743; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent ); + } + grammarID = 2744; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2743: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetCurrent ); + } + grammarID = 2744; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2744: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVTargetVoltage ); + } + grammarID = 2745; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2745: + /* 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] */ + if ( v2gCurrentDemandReqType->EVMaximumCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumCurrent ); + } + grammarID = 2746; + } else if ( v2gCurrentDemandReqType->EVMaximumPower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPower ); + } + grammarID = 2747; + } else if ( v2gCurrentDemandReqType->EVMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumVoltage ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2746: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ + if ( v2gCurrentDemandReqType->EVMaximumPower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumPower ); + } + grammarID = 2747; + } else if ( v2gCurrentDemandReqType->EVMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumVoltage ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2747: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ + if ( v2gCurrentDemandReqType->EVMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandReqType->EVMaximumVoltage ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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#,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 encode_v2gRetrievalMethodType(bitstream_t* stream, struct v2gRetrievalMethodType* v2gRetrievalMethodType) { + int grammarID = 2748; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2748: + /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ + if ( v2gRetrievalMethodType->Type_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRetrievalMethodType->Type.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gRetrievalMethodType->Type.characters, v2gRetrievalMethodType->Type.charactersLen); + } + } + grammarID = 2749; + } else if ( v2gRetrievalMethodType->URI_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRetrievalMethodType->URI.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gRetrievalMethodType->URI.characters, v2gRetrievalMethodType->URI.charactersLen); + } + } + grammarID = 2750; + } else if ( v2gRetrievalMethodType->Transforms_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2749: + /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ + if ( v2gRetrievalMethodType->URI_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gRetrievalMethodType->URI.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gRetrievalMethodType->URI.characters, v2gRetrievalMethodType->URI.charactersLen); + } + } + grammarID = 2750; + } else if ( v2gRetrievalMethodType->Transforms_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2750: + /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ + if ( v2gRetrievalMethodType->Transforms_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gTransformsType(stream, &v2gRetrievalMethodType->Transforms ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gServiceListType(bitstream_t* stream, struct v2gServiceListType* v2gServiceListType) { + int grammarID = 2751; + int done = 0; + + unsigned int v2gServiceListType_Service_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 2751: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service)] */ + if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); + } + grammarID = 2752; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2752: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ + if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); + } + grammarID = 2753; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2753: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ + if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); + } + grammarID = 2754; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2754: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ + if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); + } + grammarID = 2755; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2755: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ + if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); + } + grammarID = 2756; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2756: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ + if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); + } + grammarID = 2757; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2757: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ + if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); + } + grammarID = 2758; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2758: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ + if (v2gServiceListType_Service_currArrayIndex < v2gServiceListType->Service.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceType(stream, &v2gServiceListType->Service.array [v2gServiceListType_Service_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDC_EVBidirectionalParameterType(bitstream_t* stream, struct v2gDC_EVBidirectionalParameterType* v2gDC_EVBidirectionalParameterType) { + int grammarID = 2759; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2759: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gDC_EVBidirectionalParameterType->DepartureTime); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2760; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2760: + /* 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)] */ + if ( v2gDC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumChargePower ); + } + grammarID = 2761; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumChargePower ); + } + grammarID = 2762; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); + } + grammarID = 2763; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2761: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + if ( v2gDC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumChargePower ); + } + grammarID = 2762; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); + } + grammarID = 2763; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2762: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumChargeCurrent ); + } + grammarID = 2763; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2763: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumChargeCurrent ); + } + grammarID = 2764; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2764: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumVoltage ); + } + grammarID = 2765; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2765: + /* 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)] */ + if ( v2gDC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVTargetEnergyRequest ); + } + grammarID = 2766; + } else if ( v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); + } + grammarID = 2767; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); + } + grammarID = 2768; + } else if ( v2gDC_EVBidirectionalParameterType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2769; + } else if ( v2gDC_EVBidirectionalParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2770; + } else if ( v2gDC_EVBidirectionalParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2771; + } else if ( v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower ); + } + grammarID = 2772; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 7); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower ); + } + grammarID = 2773; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 4, 8); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 2774; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2766: + /* 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)] */ + if ( v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumEnergyRequest ); + } + grammarID = 2767; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); + } + grammarID = 2768; + } else if ( v2gDC_EVBidirectionalParameterType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2769; + } else if ( v2gDC_EVBidirectionalParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2770; + } else if ( v2gDC_EVBidirectionalParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2771; + } else if ( v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 5); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower ); + } + grammarID = 2772; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 4, 6); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower ); + } + grammarID = 2773; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 4, 7); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 2774; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2767: + /* 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)] */ + if ( v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumEnergyRequest ); + } + grammarID = 2768; + } else if ( v2gDC_EVBidirectionalParameterType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2769; + } else if ( v2gDC_EVBidirectionalParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2770; + } else if ( v2gDC_EVBidirectionalParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2771; + } else if ( v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower ); + } + grammarID = 2772; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower ); + } + grammarID = 2773; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 6); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 2774; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2768: + /* 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)] */ + if ( v2gDC_EVBidirectionalParameterType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2769; + } else if ( v2gDC_EVBidirectionalParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2770; + } else if ( v2gDC_EVBidirectionalParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2771; + } else if ( v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower ); + } + grammarID = 2772; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower ); + } + grammarID = 2773; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 2774; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2769: + /* 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)] */ + if ( v2gDC_EVBidirectionalParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2770; + } else if ( v2gDC_EVBidirectionalParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2771; + } else if ( v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower ); + } + grammarID = 2772; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower ); + } + grammarID = 2773; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 2774; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2770: + /* 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)] */ + if ( v2gDC_EVBidirectionalParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2771; + } else if ( v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower ); + } + grammarID = 2772; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower ); + } + grammarID = 2773; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 2774; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2771: + /* 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)] */ + if ( v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargePower ); + } + grammarID = 2772; + } else if ( v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower ); + } + grammarID = 2773; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 2774; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2772: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ + if ( v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargePower ); + } + grammarID = 2773; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 2774; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2773: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMaximumDischargeCurrent ); + } + grammarID = 2774; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2774: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumDischargeCurrent ); + } + grammarID = 2775; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2775: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVBidirectionalParameterType->EVMinimumVoltage ); + } + grammarID = 2776; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2776: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), END_ELEMENT] */ + if ( v2gDC_EVBidirectionalParameterType->MinimumSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVBidirectionalParameterType->MinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gServiceDetailResType(bitstream_t* stream, struct v2gServiceDetailResType* v2gServiceDetailResType) { + int grammarID = 2777; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2777: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gServiceDetailResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2778; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2778: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ + if ( v2gServiceDetailResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gServiceDetailResType->EVSEStatus ); + } + grammarID = 2779; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceDetailResType->ServiceID); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2780; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2779: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceDetailResType->ServiceID); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2780; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2780: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), END_ELEMENT] */ + if ( v2gServiceDetailResType->ServiceParameterList_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gServiceParameterListType(stream, &v2gServiceDetailResType->ServiceParameterList ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSelectedServiceListType(bitstream_t* stream, struct v2gSelectedServiceListType* v2gSelectedServiceListType) { + int grammarID = 2781; + int done = 0; + + unsigned int v2gSelectedServiceListType_SelectedService_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 2781: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService)] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2782; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2782: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2783; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2783: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2784; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2784: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2785; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2785: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2786; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2786: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2787; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2787: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2788; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2788: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2789; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2789: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2790; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2790: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2791; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2791: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2792; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2792: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2793; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2793: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2794; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2794: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2795; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2795: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2796; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2796: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ + if (v2gSelectedServiceListType_SelectedService_currArrayIndex < v2gSelectedServiceListType->SelectedService.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &v2gSelectedServiceListType->SelectedService.array [v2gSelectedServiceListType_SelectedService_currArrayIndex++]); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gRelativeTimeIntervalType(bitstream_t* stream, struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType) { + int grammarID = 2797; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2797: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gRelativeTimeIntervalType->start); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2798; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2798: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), END_ELEMENT] */ + if ( v2gRelativeTimeIntervalType->duration_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gRelativeTimeIntervalType->duration); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDisconnectChargingDeviceResType(bitstream_t* stream, struct v2gDisconnectChargingDeviceResType* v2gDisconnectChargingDeviceResType) { + int grammarID = 2421; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2421: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gDisconnectChargingDeviceResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2422; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2422: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( v2gDisconnectChargingDeviceResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gDisconnectChargingDeviceResType->EVSEStatus ); + } + grammarID = 2423; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gDisconnectChargingDeviceResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2424; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2423: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gDisconnectChargingDeviceResType->EVSEProcessing); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2424; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2424: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gDisconnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1519; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1519: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, v2gDisconnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType) { + int grammarID = 1855; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 1855: + /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gContractSignatureEncryptedPrivateKeyType->Id.characters, v2gContractSignatureEncryptedPrivateKeyType->Id.charactersLen); + } + } + grammarID = 1; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1: + /* StartTag[CHARACTERS[BINARY_BASE64]] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytes, v2gContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gChargingStatusResType(bitstream_t* stream, struct v2gChargingStatusResType* v2gChargingStatusResType) { + int grammarID = 2799; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2799: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gChargingStatusResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2800; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2800: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( v2gChargingStatusResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gChargingStatusResType->EVSEStatus ); + } + grammarID = 2801; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gChargingStatusResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gChargingStatusResType->EVSEID.characters, v2gChargingStatusResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2802; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2801: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gChargingStatusResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gChargingStatusResType->EVSEID.characters, v2gChargingStatusResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2802; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2802: + /* 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] */ + if ( v2gChargingStatusResType->SAScheduleTupleID_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gChargingStatusResType->SAScheduleTupleID - 1)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2803; + } else if ( v2gChargingStatusResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gChargingStatusResType->MeterInfo ); + } + grammarID = 2804; + } else if ( v2gChargingStatusResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gChargingStatusResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2805; + } else if ( v2gChargingStatusResType->EVSETargetPower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSETargetPower ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2803: + /* 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] */ + if ( v2gChargingStatusResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gChargingStatusResType->MeterInfo ); + } + grammarID = 2804; + } else if ( v2gChargingStatusResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gChargingStatusResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2805; + } else if ( v2gChargingStatusResType->EVSETargetPower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSETargetPower ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2804: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ + if ( v2gChargingStatusResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gChargingStatusResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2805; + } else if ( v2gChargingStatusResType->EVSETargetPower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSETargetPower ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2805: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ + if ( v2gChargingStatusResType->EVSETargetPower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gChargingStatusResType->EVSETargetPower ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPaymentDetailsReqType(bitstream_t* stream, struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType) { + int grammarID = 2806; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2806: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gPaymentDetailsReqType->eMAID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gPaymentDetailsReqType->eMAID.characters, v2gPaymentDetailsReqType->eMAID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2807; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2807: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gCertificateChainType(stream, &v2gPaymentDetailsReqType->ContractSignatureCertChain ); + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gMagneticVectorSetupType(bitstream_t* stream, struct v2gMagneticVectorSetupType* v2gMagneticVectorSetupType) { + int grammarID = 2808; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2808: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gMagneticVectorSetupType->GAID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gMagneticVectorSetupType->GAID.characters, v2gMagneticVectorSetupType->GAID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2809; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2809: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gMagneticVectorSetupType->FrequencyChannel); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDC_EVChargeParameterType(bitstream_t* stream, struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType) { + int grammarID = 2810; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2810: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gDC_EVChargeParameterType->DepartureTime); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2811; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2811: + /* 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)] */ + if ( v2gDC_EVChargeParameterType->EVMaximumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumChargePower ); + } + grammarID = 2812; + } else if ( v2gDC_EVChargeParameterType->EVMinimumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumChargePower ); + } + grammarID = 2813; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumChargeCurrent ); + } + grammarID = 2814; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2812: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + if ( v2gDC_EVChargeParameterType->EVMinimumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumChargePower ); + } + grammarID = 2813; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumChargeCurrent ); + } + grammarID = 2814; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2813: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumChargeCurrent ); + } + grammarID = 2814; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2814: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumChargeCurrent ); + } + grammarID = 2815; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2815: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumVoltage ); + } + grammarID = 2816; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2816: + /* 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] */ + if ( v2gDC_EVChargeParameterType->EVTargetEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVTargetEnergyRequest ); + } + grammarID = 2817; + } else if ( v2gDC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumEnergyRequest ); + } + grammarID = 2818; + } else if ( v2gDC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumEnergyRequest ); + } + grammarID = 2819; + } else if ( v2gDC_EVChargeParameterType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2820; + } else if ( v2gDC_EVChargeParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2821; + } else if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 6); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2817: + /* 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] */ + if ( v2gDC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMaximumEnergyRequest ); + } + grammarID = 2818; + } else if ( v2gDC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumEnergyRequest ); + } + grammarID = 2819; + } else if ( v2gDC_EVChargeParameterType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2820; + } else if ( v2gDC_EVChargeParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2821; + } else if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2818: + /* 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] */ + if ( v2gDC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_EVChargeParameterType->EVMinimumEnergyRequest ); + } + grammarID = 2819; + } else if ( v2gDC_EVChargeParameterType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2820; + } else if ( v2gDC_EVChargeParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2821; + } else if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2819: + /* 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] */ + if ( v2gDC_EVChargeParameterType->CurrentSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->CurrentSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2820; + } else if ( v2gDC_EVChargeParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2821; + } else if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2820: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ + if ( v2gDC_EVChargeParameterType->TargetSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->TargetSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2821; + } else if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2821: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ + if ( v2gDC_EVChargeParameterType->BulkSOC_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(v2gDC_EVChargeParameterType->BulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gReferenceType(bitstream_t* stream, struct v2gReferenceType* v2gReferenceType) { + int grammarID = 2822; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2822: + /* 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)] */ + if ( v2gReferenceType->Id_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->Id.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gReferenceType->Id.characters, v2gReferenceType->Id.charactersLen); + } + } + grammarID = 2823; + } else if ( v2gReferenceType->Type_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->Type.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gReferenceType->Type.characters, v2gReferenceType->Type.charactersLen); + } + } + grammarID = 2824; + } else if ( v2gReferenceType->URI_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->URI.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gReferenceType->URI.characters, v2gReferenceType->URI.charactersLen); + } + } + grammarID = 2825; + } else if ( v2gReferenceType->Transforms_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gTransformsType(stream, &v2gReferenceType->Transforms ); + } + grammarID = 2826; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); + } + grammarID = 2827; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2823: + /* 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)] */ + if ( v2gReferenceType->Type_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->Type.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gReferenceType->Type.characters, v2gReferenceType->Type.charactersLen); + } + } + grammarID = 2824; + } else if ( v2gReferenceType->URI_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->URI.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gReferenceType->URI.characters, v2gReferenceType->URI.charactersLen); + } + } + grammarID = 2825; + } else if ( v2gReferenceType->Transforms_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gTransformsType(stream, &v2gReferenceType->Transforms ); + } + grammarID = 2826; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); + } + grammarID = 2827; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2824: + /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ + if ( v2gReferenceType->URI_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->URI.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gReferenceType->URI.characters, v2gReferenceType->URI.charactersLen); + } + } + grammarID = 2825; + } else if ( v2gReferenceType->Transforms_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gTransformsType(stream, &v2gReferenceType->Transforms ); + } + grammarID = 2826; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); + } + grammarID = 2827; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2825: + /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ + if ( v2gReferenceType->Transforms_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gTransformsType(stream, &v2gReferenceType->Transforms ); + } + grammarID = 2826; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); + } + grammarID = 2827; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2826: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gDigestMethodType(stream, &v2gReferenceType->DigestMethod ); + } + grammarID = 2827; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2827: + /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gReferenceType->DigestValue.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gReferenceType->DigestValue.bytes, v2gReferenceType->DigestValue.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gServiceDetailReqType(bitstream_t* stream, struct v2gServiceDetailReqType* v2gServiceDetailReqType) { + int grammarID = 2828; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2828: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, v2gServiceDetailReqType->ServiceID); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gPaymentOptionListType(bitstream_t* stream, struct v2gPaymentOptionListType* v2gPaymentOptionListType) { + int grammarID = 2829; + int done = 0; + + unsigned int v2gPaymentOptionListType_PaymentOption_currArrayIndex = 0; + + while(!done) { + switch(grammarID) { + case 2829: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption)] */ + if (v2gPaymentOptionListType_PaymentOption_currArrayIndex < v2gPaymentOptionListType->PaymentOption.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gPaymentOptionListType->PaymentOption.array[v2gPaymentOptionListType_PaymentOption_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2830; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2830: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), END_ELEMENT] */ + if (v2gPaymentOptionListType_PaymentOption_currArrayIndex < v2gPaymentOptionListType->PaymentOption.arrayLen ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 1, v2gPaymentOptionListType->PaymentOption.array[v2gPaymentOptionListType_PaymentOption_currArrayIndex++]); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gCurrentDemandResType(bitstream_t* stream, struct v2gCurrentDemandResType* v2gCurrentDemandResType) { + int grammarID = 2831; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2831: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gCurrentDemandResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2832; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2832: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ + if ( v2gCurrentDemandResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gCurrentDemandResType->EVSEStatus ); + } + grammarID = 2833; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentCurrent ); + } + grammarID = 2834; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2833: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentCurrent ); + } + grammarID = 2834; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2834: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEPresentVoltage ); + } + grammarID = 2835; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2835: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gCurrentDemandResType->EVSEPowerLimitAchieved); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2836; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2836: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gCurrentDemandResType->EVSECurrentLimitAchieved); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2837; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2837: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gCurrentDemandResType->EVSEVoltageLimitAchieved); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2838; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2838: + /* 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)] */ + if ( v2gCurrentDemandResType->EVSEMaximumPower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumPower ); + } + grammarID = 2839; + } else if ( v2gCurrentDemandResType->EVSEMaximumCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumCurrent ); + } + grammarID = 2840; + } else if ( v2gCurrentDemandResType->EVSEMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumVoltage ); + } + grammarID = 1509; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2839: + /* 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)] */ + if ( v2gCurrentDemandResType->EVSEMaximumCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumCurrent ); + } + grammarID = 2840; + } else if ( v2gCurrentDemandResType->EVSEMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumVoltage ); + } + grammarID = 1509; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2840: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( v2gCurrentDemandResType->EVSEMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gCurrentDemandResType->EVSEMaximumVoltage ); + } + grammarID = 1509; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1509: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gCurrentDemandResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gCurrentDemandResType->EVSEID.characters, v2gCurrentDemandResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1510: + /* 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] */ + if ( v2gCurrentDemandResType->SAScheduleTupleID_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gCurrentDemandResType->SAScheduleTupleID - 1)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1511; + } else if ( v2gCurrentDemandResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gCurrentDemandResType->MeterInfo ); + } + grammarID = 1512; + } else if ( v2gCurrentDemandResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gCurrentDemandResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1511: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ + if ( v2gCurrentDemandResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gCurrentDemandResType->MeterInfo ); + } + grammarID = 1512; + } else if ( v2gCurrentDemandResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gCurrentDemandResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1512: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ + if ( v2gCurrentDemandResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gCurrentDemandResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDC_BidirectionalControlResType(bitstream_t* stream, struct v2gDC_BidirectionalControlResType* v2gDC_BidirectionalControlResType) { + int grammarID = 2841; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2841: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, v2gDC_BidirectionalControlResType->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2842; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2842: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ + if ( v2gDC_BidirectionalControlResType->EVSEStatus_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gEVSEStatusType(stream, &v2gDC_BidirectionalControlResType->EVSEStatus ); + } + grammarID = 2843; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEPresentCurrent ); + } + grammarID = 2844; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2843: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEPresentCurrent ); + } + grammarID = 2844; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2844: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEPresentVoltage ); + } + grammarID = 2845; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2845: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDC_BidirectionalControlResType->EVSEPowerLimitAchieved); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2846; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2846: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDC_BidirectionalControlResType->EVSECurrentLimitAchieved); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2847; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2847: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDC_BidirectionalControlResType->EVSEVoltageLimitAchieved); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2848; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2848: + /* 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)] */ + if ( v2gDC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumChargePower ); + } + grammarID = 2849; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower ); + } + grammarID = 2850; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent ); + } + grammarID = 2851; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); + } + grammarID = 2852; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage ); + } + grammarID = 2853; + } else if ( v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage ); + } + grammarID = 1509; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 6); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2849: + /* 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)] */ + if ( v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargePower ); + } + grammarID = 2850; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent ); + } + grammarID = 2851; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); + } + grammarID = 2852; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage ); + } + grammarID = 2853; + } else if ( v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage ); + } + grammarID = 1509; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 5); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2850: + /* 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)] */ + if ( v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumChargeCurrent ); + } + grammarID = 2851; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); + } + grammarID = 2852; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage ); + } + grammarID = 2853; + } else if ( v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage ); + } + grammarID = 1509; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 4); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2851: + /* 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)] */ + if ( v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumDischargeCurrent ); + } + grammarID = 2852; + } else if ( v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage ); + } + grammarID = 2853; + } else if ( v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage ); + } + grammarID = 1509; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2852: + /* 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)] */ + if ( v2gDC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMaximumVoltage ); + } + grammarID = 2853; + } else if ( v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage ); + } + grammarID = 1509; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2853: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( v2gDC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gDC_BidirectionalControlResType->EVSEMinimumVoltage ); + } + grammarID = 1509; + } else if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1509: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[STRING]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDC_BidirectionalControlResType->EVSEID.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDC_BidirectionalControlResType->EVSEID.characters, v2gDC_BidirectionalControlResType->EVSEID.charactersLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1510; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1510: + /* 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] */ + if ( v2gDC_BidirectionalControlResType->SAScheduleTupleID_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(v2gDC_BidirectionalControlResType->SAScheduleTupleID - 1)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 1511; + } else if ( v2gDC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gDC_BidirectionalControlResType->MeterInfo ); + } + grammarID = 1512; + } else if ( v2gDC_BidirectionalControlResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDC_BidirectionalControlResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1511: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ + if ( v2gDC_BidirectionalControlResType->MeterInfo_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gMeterInfoType(stream, &v2gDC_BidirectionalControlResType->MeterInfo ); + } + grammarID = 1512; + } else if ( v2gDC_BidirectionalControlResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDC_BidirectionalControlResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1512: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ + if ( v2gDC_BidirectionalControlResType->ReceiptRequired_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, v2gDC_BidirectionalControlResType->ReceiptRequired); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gWPT_EVChargeParameterType(bitstream_t* stream, struct v2gWPT_EVChargeParameterType* v2gWPT_EVChargeParameterType) { + int grammarID = 2854; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2854: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, v2gWPT_EVChargeParameterType->DepartureTime); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2855; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2855: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMaximumPower ); + } + grammarID = 2856; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2856: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMinimumPower ); + } + grammarID = 2857; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2857: + /* 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] */ + if ( v2gWPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVTargetEnergyRequest ); + } + grammarID = 2858; + } else if ( v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest ); + } + grammarID = 2859; + } else if ( v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 3, 2); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 3, 3); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2858: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ + if ( v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMaximumEnergyRequest ); + } + grammarID = 2859; + } else if ( v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2859: + /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ + if ( v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 0); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &v2gWPT_EVChargeParameterType->EVMinimumEnergyRequest ); + } + grammarID = 2; + } else if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gSessionSetupReqType(bitstream_t* stream, struct v2gSessionSetupReqType* v2gSessionSetupReqType) { + int grammarID = 2860; + int done = 0; + + + while(!done) { + switch(grammarID) { + case 2860: + /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID)] */ + if ( 1 == 1 ) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gSessionSetupReqType->EVCCID.bytesLen)); + if (errn == 0) { + errn = encodeBytes(stream, v2gSessionSetupReqType->EVCCID.bytes, v2gSessionSetupReqType->EVCCID.bytesLen); + } + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + grammarID = 2; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 2: + /* Element[END_ELEMENT] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + 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 encode_v2gDigestMethodType(bitstream_t* stream, struct v2gDigestMethodType* v2gDigestMethodType) { + int grammarID = 1847; + int done = 0; + int wcDone = 0; + + + while(!done) { + switch(grammarID) { + case 1847: + /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ + if (1==1) { + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDigestMethodType->Algorithm.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDigestMethodType->Algorithm.characters, v2gDigestMethodType->Algorithm.charactersLen); + } + } + grammarID = 1848; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 1848: + /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gDigestMethodType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gDigestMethodType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDigestMethodType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDigestMethodType->ANY.characters, v2gDigestMethodType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; + case 904: + /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ + if (1==0) { + errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; + grammarID = 904; + } else if ( v2gDigestMethodType->ANY_isUsed == 0u || wcDone ) { + errn = encodeNBitUnsignedInteger(stream, 2, 1); + if(errn == 0) { + done = 1; + } + grammarID = 3; + } else if ( v2gDigestMethodType->ANY_isUsed == 1u ) { + errn = encodeNBitUnsignedInteger(stream, 2, 2); + if(errn == 0) { + /* encode string as string table miss (+2 len)*/ + errn = encodeUnsignedInteger16(stream, (uint16_t)(v2gDigestMethodType->ANY.charactersLen + 2)); + if (errn == 0) { + errn = encodeCharacters(stream, v2gDigestMethodType->ANY.characters, v2gDigestMethodType->ANY.charactersLen); + } + } + wcDone = 1; + grammarID = 904; + } else { + errn = EXI_ERROR_UNKOWN_EVENT; + } + break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; @@ -10656,166 +67892,214 @@ int encode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { errn = writeEXIHeader(stream); if(errn == 0) { - /* DocContent[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus), 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:2013:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry), 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({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2013: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:2013:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2013: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:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2013: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:2013:MsgDataTypes}TimeInterval), 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:2013:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ - if ( exiDoc->AC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter) */ + /* 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:MsgBody}EVErrorInformation), 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:MsgBody}EVSEErrorInformation), 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}ErrorInformation), 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_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LF_EVSEFinePositioningParameters), 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] */ + if ( exiDoc->AC_BidirectionalControlReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ errn = encodeNBitUnsignedInteger(stream, 7, 0); + if(errn == 0) { + errn = encode_v2gAC_BidirectionalControlReqType(stream, &exiDoc->AC_BidirectionalControlReq ); + } + } else if ( exiDoc->AC_BidirectionalControlRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 1); + if(errn == 0) { + errn = encode_v2gAC_BidirectionalControlResType(stream, &exiDoc->AC_BidirectionalControlRes ); + } + } else if ( exiDoc->AC_EVBidirectionalParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 2); + if(errn == 0) { + errn = encode_v2gAC_EVBidirectionalParameterType(stream, &exiDoc->AC_EVBidirectionalParameter ); + } + } else if ( exiDoc->AC_EVChargeParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 3); if(errn == 0) { errn = encode_v2gAC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter ); } + } else if ( exiDoc->AC_EVSEBidirectionalParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 4); + if(errn == 0) { + errn = encode_v2gAC_EVSEBidirectionalParameterType(stream, &exiDoc->AC_EVSEBidirectionalParameter ); + } } else if ( exiDoc->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 1); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 5); if(errn == 0) { errn = encode_v2gAC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter ); } - } else if ( exiDoc->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 2); + } else if ( exiDoc->AlignmentCheckReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 6); if(errn == 0) { - errn = encode_v2gAC_EVSEStatusType(stream, &exiDoc->AC_EVSEStatus ); + errn = encode_v2gAlignmentCheckReqType(stream, &exiDoc->AlignmentCheckReq ); + } + } else if ( exiDoc->AlignmentCheckRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 7); + if(errn == 0) { + errn = encode_v2gAlignmentCheckResType(stream, &exiDoc->AlignmentCheckRes ); } } else if ( exiDoc->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 3); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 8); if(errn == 0) { errn = encode_v2gAuthorizationReqType(stream, &exiDoc->AuthorizationReq ); } } else if ( exiDoc->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 4); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 9); if(errn == 0) { errn = encode_v2gAuthorizationResType(stream, &exiDoc->AuthorizationRes ); } } else if ( exiDoc->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 7, 5); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ + errn = encodeNBitUnsignedInteger(stream, 7, 10); if(errn == 0) { errn = encode_v2gBodyBaseType(stream, &exiDoc->BodyElement ); } } else if ( exiDoc->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 6); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 11); if(errn == 0) { - errn = encode_v2gCableCheckReqType(stream, &exiDoc->CableCheckReq ); + errn = encode_v2gBodyBaseType(stream, &exiDoc->CableCheckReq ); } } else if ( exiDoc->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 7); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 12); if(errn == 0) { errn = encode_v2gCableCheckResType(stream, &exiDoc->CableCheckRes ); } } else if ( exiDoc->CanonicalizationMethod_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 8); + errn = encodeNBitUnsignedInteger(stream, 7, 13); if(errn == 0) { errn = encode_v2gCanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod ); } } else if ( exiDoc->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 9); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 14); if(errn == 0) { errn = encode_v2gCertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq ); } } else if ( exiDoc->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 10); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 15); if(errn == 0) { errn = encode_v2gCertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes ); } } else if ( exiDoc->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 11); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 16); if(errn == 0) { errn = encode_v2gCertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq ); } } else if ( exiDoc->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 12); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 17); if(errn == 0) { errn = encode_v2gCertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes ); } } else if ( exiDoc->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 13); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 18); if(errn == 0) { errn = encode_v2gChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq ); } } else if ( exiDoc->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 14); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 19); if(errn == 0) { errn = encode_v2gChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes ); } } else if ( exiDoc->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 15); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 20); if(errn == 0) { errn = encode_v2gChargingStatusReqType(stream, &exiDoc->ChargingStatusReq ); } } else if ( exiDoc->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 16); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 21); if(errn == 0) { errn = encode_v2gChargingStatusResType(stream, &exiDoc->ChargingStatusRes ); } + } else if ( exiDoc->ConnectChargingDeviceReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 22); + if(errn == 0) { + errn = encode_v2gConnectChargingDeviceReqType(stream, &exiDoc->ConnectChargingDeviceReq ); + } + } else if ( exiDoc->ConnectChargingDeviceRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 23); + if(errn == 0) { + errn = encode_v2gConnectChargingDeviceResType(stream, &exiDoc->ConnectChargingDeviceRes ); + } } else if ( exiDoc->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 17); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 24); if(errn == 0) { errn = encode_v2gCurrentDemandReqType(stream, &exiDoc->CurrentDemandReq ); } } else if ( exiDoc->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 18); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 25); if(errn == 0) { errn = encode_v2gCurrentDemandResType(stream, &exiDoc->CurrentDemandRes ); } + } else if ( exiDoc->DC_BidirectionalControlReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 26); + if(errn == 0) { + errn = encode_v2gDC_BidirectionalControlReqType(stream, &exiDoc->DC_BidirectionalControlReq ); + } + } else if ( exiDoc->DC_BidirectionalControlRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 27); + if(errn == 0) { + errn = encode_v2gDC_BidirectionalControlResType(stream, &exiDoc->DC_BidirectionalControlRes ); + } + } else if ( exiDoc->DC_EVBidirectionalParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 28); + if(errn == 0) { + errn = encode_v2gDC_EVBidirectionalParameterType(stream, &exiDoc->DC_EVBidirectionalParameter ); + } } else if ( exiDoc->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 19); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 29); if(errn == 0) { errn = encode_v2gDC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter ); } - } else if ( exiDoc->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 20); + } else if ( exiDoc->DC_EVSEBidirectionalParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 30); if(errn == 0) { - errn = encode_v2gDC_EVPowerDeliveryParameterType(stream, &exiDoc->DC_EVPowerDeliveryParameter ); + errn = encode_v2gDC_EVSEBidirectionalParameterType(stream, &exiDoc->DC_EVSEBidirectionalParameter ); } } else if ( exiDoc->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 21); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 31); if(errn == 0) { errn = encode_v2gDC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter ); } - } else if ( exiDoc->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 22); - if(errn == 0) { - errn = encode_v2gDC_EVSEStatusType(stream, &exiDoc->DC_EVSEStatus ); - } - } else if ( exiDoc->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 23); - if(errn == 0) { - errn = encode_v2gDC_EVStatusType(stream, &exiDoc->DC_EVStatus ); - } } else if ( exiDoc->DSAKeyValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 24); + errn = encodeNBitUnsignedInteger(stream, 7, 32); if(errn == 0) { errn = encode_v2gDSAKeyValueType(stream, &exiDoc->DSAKeyValue ); } } else if ( exiDoc->DigestMethod_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 25); + errn = encodeNBitUnsignedInteger(stream, 7, 33); if(errn == 0) { errn = encode_v2gDigestMethodType(stream, &exiDoc->DigestMethod ); } } else if ( exiDoc->DigestValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 26); + errn = encodeNBitUnsignedInteger(stream, 7, 34); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -10828,51 +68112,117 @@ int encode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiDoc->EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 27); + } else if ( exiDoc->DisconnectChargingDeviceReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 35); if(errn == 0) { - errn = encode_v2gEVChargeParameterType(stream, &exiDoc->EVChargeParameter ); + errn = encode_v2gDisconnectChargingDeviceReqType(stream, &exiDoc->DisconnectChargingDeviceReq ); } - } else if ( exiDoc->EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 28); + } else if ( exiDoc->DisconnectChargingDeviceRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 36); if(errn == 0) { - errn = encode_v2gEVPowerDeliveryParameterType(stream, &exiDoc->EVPowerDeliveryParameter ); + errn = encode_v2gDisconnectChargingDeviceResType(stream, &exiDoc->DisconnectChargingDeviceRes ); } - } else if ( exiDoc->EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 7, 29); + } else if ( exiDoc->EVEnergyTransferParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 37); if(errn == 0) { - errn = encode_v2gEVSEChargeParameterType(stream, &exiDoc->EVSEChargeParameter ); + errn = encode_v2gEVEnergyTransferParameterType(stream, &exiDoc->EVEnergyTransferParameter ); } - } else if ( exiDoc->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 30); + } else if ( exiDoc->EVErrorInformation_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVErrorInformation) */ + errn = encodeNBitUnsignedInteger(stream, 7, 38); if(errn == 0) { - errn = encode_v2gEVSEStatusType(stream, &exiDoc->EVSEStatus ); + errn = encode_v2gEVErrorInformationType(stream, &exiDoc->EVErrorInformation ); } - } else if ( exiDoc->EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 7, 31); + } else if ( exiDoc->EVFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 39); if(errn == 0) { - errn = encode_v2gEVStatusType(stream, &exiDoc->EVStatus ); + errn = encode_v2gEVFinePositioningParametersType(stream, &exiDoc->EVFinePositioningParameters ); } - } else if ( exiDoc->Entry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 32); + } else if ( exiDoc->EVFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 40); if(errn == 0) { - errn = encode_v2gEntryType(stream, &exiDoc->Entry ); + errn = encode_v2gEVFinePositioningSetupParametersType(stream, &exiDoc->EVFinePositioningSetupParameters ); + } + } else if ( exiDoc->EVSEEnergyTransferParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 41); + if(errn == 0) { + errn = encode_v2gEVSEEnergyTransferParameterType(stream, &exiDoc->EVSEEnergyTransferParameter ); + } + } else if ( exiDoc->EVSEErrorInformation_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEErrorInformation) */ + errn = encodeNBitUnsignedInteger(stream, 7, 42); + if(errn == 0) { + errn = encode_v2gEVSEErrorInformationType(stream, &exiDoc->EVSEErrorInformation ); + } + } else if ( exiDoc->EVSEFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 43); + if(errn == 0) { + errn = encode_v2gEVSEFinePositioningParametersType(stream, &exiDoc->EVSEFinePositioningParameters ); + } + } else if ( exiDoc->EVSEFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 44); + if(errn == 0) { + errn = encode_v2gEVSEFinePositioningSetupParametersType(stream, &exiDoc->EVSEFinePositioningSetupParameters ); + } + } else if ( exiDoc->ErrorInformation_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorInformation) */ + errn = encodeNBitUnsignedInteger(stream, 7, 45); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &exiDoc->ErrorInformation ); + } + } else if ( exiDoc->FinePositioningReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 46); + if(errn == 0) { + errn = encode_v2gFinePositioningReqType(stream, &exiDoc->FinePositioningReq ); + } + } else if ( exiDoc->FinePositioningRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 47); + if(errn == 0) { + errn = encode_v2gFinePositioningResType(stream, &exiDoc->FinePositioningRes ); + } + } else if ( exiDoc->FinePositioningSetupReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 48); + if(errn == 0) { + errn = encode_v2gFinePositioningSetupReqType(stream, &exiDoc->FinePositioningSetupReq ); + } + } else if ( exiDoc->FinePositioningSetupRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 49); + if(errn == 0) { + errn = encode_v2gFinePositioningSetupResType(stream, &exiDoc->FinePositioningSetupRes ); + } + } else if ( exiDoc->Generic_EVFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 50); + if(errn == 0) { + errn = encode_v2gGeneric_EVFinePositioningParametersType(stream, &exiDoc->Generic_EVFinePositioningParameters ); + } + } else if ( exiDoc->Generic_EVSEFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 51); + if(errn == 0) { + errn = encode_v2gGeneric_EVSEFinePositioningParametersType(stream, &exiDoc->Generic_EVSEFinePositioningParameters ); } } else if ( exiDoc->KeyInfo_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 33); + errn = encodeNBitUnsignedInteger(stream, 7, 52); if(errn == 0) { errn = encode_v2gKeyInfoType(stream, &exiDoc->KeyInfo ); } } else if ( exiDoc->KeyName_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 7, 34); + errn = encodeNBitUnsignedInteger(stream, 7, 53); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -10888,31 +68238,67 @@ int encode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { } } else if ( exiDoc->KeyValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 35); + errn = encodeNBitUnsignedInteger(stream, 7, 54); if(errn == 0) { errn = encode_v2gKeyValueType(stream, &exiDoc->KeyValue ); } + } else if ( exiDoc->LFA_EVFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 55); + if(errn == 0) { + errn = encode_v2gLFA_EVFinePositioningParametersType(stream, &exiDoc->LFA_EVFinePositioningParameters ); + } + } else if ( exiDoc->LFA_EVFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 56); + if(errn == 0) { + errn = encode_v2gLFA_EVFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVFinePositioningSetupParameters ); + } + } else if ( exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 57); + if(errn == 0) { + errn = encode_v2gLFA_EVSEFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVSEFinePositioningSetupParameters ); + } + } else if ( exiDoc->LF_EVSEFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LF_EVSEFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 58); + if(errn == 0) { + errn = encode_v2gLF_EVSEFinePositioningParametersType(stream, &exiDoc->LF_EVSEFinePositioningParameters ); + } + } else if ( exiDoc->MV_EVSEFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 59); + if(errn == 0) { + errn = encode_v2gMV_EVSEFinePositioningParametersType(stream, &exiDoc->MV_EVSEFinePositioningParameters ); + } + } else if ( exiDoc->MV_EVSEFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 7, 60); + if(errn == 0) { + errn = encode_v2gMV_EVSEFinePositioningSetupParametersType(stream, &exiDoc->MV_EVSEFinePositioningSetupParameters ); + } } else if ( exiDoc->Manifest_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 7, 36); + errn = encodeNBitUnsignedInteger(stream, 7, 61); if(errn == 0) { errn = encode_v2gManifestType(stream, &exiDoc->Manifest ); } } else if ( exiDoc->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 37); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 62); if(errn == 0) { errn = encode_v2gMeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq ); } } else if ( exiDoc->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 38); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 63); if(errn == 0) { - errn = encode_v2gMeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes ); + errn = encode_v2gV2GResponseType(stream, &exiDoc->MeteringReceiptRes ); } } else if ( exiDoc->MgmtData_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 39); + errn = encodeNBitUnsignedInteger(stream, 7, 64); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -10928,241 +68314,313 @@ int encode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { } } else if ( exiDoc->Object_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 7, 40); + errn = encodeNBitUnsignedInteger(stream, 7, 65); if(errn == 0) { errn = encode_v2gObjectType(stream, &exiDoc->Object ); } } else if ( exiDoc->PGPData_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 41); + errn = encodeNBitUnsignedInteger(stream, 7, 66); if(errn == 0) { errn = encode_v2gPGPDataType(stream, &exiDoc->PGPData ); } } else if ( exiDoc->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 42); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ + errn = encodeNBitUnsignedInteger(stream, 7, 67); if(errn == 0) { errn = encode_v2gPMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry ); } + } else if ( exiDoc->PairingReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 68); + if(errn == 0) { + errn = encode_v2gPairingReqType(stream, &exiDoc->PairingReq ); + } + } else if ( exiDoc->PairingRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 69); + if(errn == 0) { + errn = encode_v2gPairingResType(stream, &exiDoc->PairingRes ); + } } else if ( exiDoc->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 43); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 70); if(errn == 0) { errn = encode_v2gPaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq ); } } else if ( exiDoc->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 44); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 71); if(errn == 0) { errn = encode_v2gPaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes ); } } else if ( exiDoc->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 45); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 72); if(errn == 0) { errn = encode_v2gPaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq ); } } else if ( exiDoc->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 46); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 73); if(errn == 0) { - errn = encode_v2gPaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes ); + errn = encode_v2gV2GResponseType(stream, &exiDoc->PaymentServiceSelectionRes ); } } else if ( exiDoc->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 47); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 74); if(errn == 0) { errn = encode_v2gPowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq ); } } else if ( exiDoc->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 48); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 75); if(errn == 0) { errn = encode_v2gPowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes ); } + } else if ( exiDoc->PowerDemandReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 76); + if(errn == 0) { + errn = encode_v2gPowerDemandReqType(stream, &exiDoc->PowerDemandReq ); + } + } else if ( exiDoc->PowerDemandRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 77); + if(errn == 0) { + errn = encode_v2gPowerDemandResType(stream, &exiDoc->PowerDemandRes ); + } } else if ( exiDoc->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 49); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 78); if(errn == 0) { errn = encode_v2gPreChargeReqType(stream, &exiDoc->PreChargeReq ); } } else if ( exiDoc->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 50); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 79); if(errn == 0) { errn = encode_v2gPreChargeResType(stream, &exiDoc->PreChargeRes ); } } else if ( exiDoc->RSAKeyValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 51); + errn = encodeNBitUnsignedInteger(stream, 7, 80); if(errn == 0) { errn = encode_v2gRSAKeyValueType(stream, &exiDoc->RSAKeyValue ); } } else if ( exiDoc->Reference_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 7, 52); + errn = encodeNBitUnsignedInteger(stream, 7, 81); if(errn == 0) { errn = encode_v2gReferenceType(stream, &exiDoc->Reference ); } } else if ( exiDoc->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 53); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ + errn = encodeNBitUnsignedInteger(stream, 7, 82); if(errn == 0) { errn = encode_v2gRelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval ); } } else if ( exiDoc->RetrievalMethod_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 54); + errn = encodeNBitUnsignedInteger(stream, 7, 83); if(errn == 0) { errn = encode_v2gRetrievalMethodType(stream, &exiDoc->RetrievalMethod ); } } else if ( exiDoc->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 7, 55); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ + errn = encodeNBitUnsignedInteger(stream, 7, 84); if(errn == 0) { errn = encode_v2gSAScheduleListType(stream, &exiDoc->SAScheduleList ); } - } else if ( exiDoc->SASchedules_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ - errn = encodeNBitUnsignedInteger(stream, 7, 56); - if(errn == 0) { - errn = encode_v2gSASchedulesType(stream, &exiDoc->SASchedules ); - } } else if ( exiDoc->SPKIData_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 7, 57); + errn = encodeNBitUnsignedInteger(stream, 7, 85); if(errn == 0) { errn = encode_v2gSPKIDataType(stream, &exiDoc->SPKIData ); } } else if ( exiDoc->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 7, 58); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ + errn = encodeNBitUnsignedInteger(stream, 7, 86); if(errn == 0) { errn = encode_v2gSalesTariffEntryType(stream, &exiDoc->SalesTariffEntry ); } } else if ( exiDoc->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 59); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 87); if(errn == 0) { errn = encode_v2gServiceDetailReqType(stream, &exiDoc->ServiceDetailReq ); } } else if ( exiDoc->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 60); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 88); if(errn == 0) { errn = encode_v2gServiceDetailResType(stream, &exiDoc->ServiceDetailRes ); } } else if ( exiDoc->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 61); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 89); if(errn == 0) { errn = encode_v2gServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq ); } } else if ( exiDoc->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 62); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 90); if(errn == 0) { errn = encode_v2gServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes ); } } else if ( exiDoc->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 63); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 91); if(errn == 0) { errn = encode_v2gSessionSetupReqType(stream, &exiDoc->SessionSetupReq ); } } else if ( exiDoc->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 64); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 92); if(errn == 0) { errn = encode_v2gSessionSetupResType(stream, &exiDoc->SessionSetupRes ); } } else if ( exiDoc->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 65); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 93); if(errn == 0) { errn = encode_v2gSessionStopReqType(stream, &exiDoc->SessionStopReq ); } } else if ( exiDoc->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 66); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 94); if(errn == 0) { - errn = encode_v2gSessionStopResType(stream, &exiDoc->SessionStopRes ); + errn = encode_v2gV2GResponseType(stream, &exiDoc->SessionStopRes ); } } else if ( exiDoc->Signature_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 7, 67); + errn = encodeNBitUnsignedInteger(stream, 7, 95); if(errn == 0) { errn = encode_v2gSignatureType(stream, &exiDoc->Signature ); } } else if ( exiDoc->SignatureMethod_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 7, 68); + errn = encodeNBitUnsignedInteger(stream, 7, 96); if(errn == 0) { errn = encode_v2gSignatureMethodType(stream, &exiDoc->SignatureMethod ); } } else if ( exiDoc->SignatureProperties_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 7, 69); + errn = encodeNBitUnsignedInteger(stream, 7, 97); if(errn == 0) { errn = encode_v2gSignaturePropertiesType(stream, &exiDoc->SignatureProperties ); } } else if ( exiDoc->SignatureProperty_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 7, 70); + errn = encodeNBitUnsignedInteger(stream, 7, 98); if(errn == 0) { errn = encode_v2gSignaturePropertyType(stream, &exiDoc->SignatureProperty ); } } else if ( exiDoc->SignatureValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 7, 71); + errn = encodeNBitUnsignedInteger(stream, 7, 99); if(errn == 0) { errn = encode_v2gSignatureValueType(stream, &exiDoc->SignatureValue ); } } else if ( exiDoc->SignedInfo_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 7, 72); + errn = encodeNBitUnsignedInteger(stream, 7, 100); if(errn == 0) { errn = encode_v2gSignedInfoType(stream, &exiDoc->SignedInfo ); } - } else if ( exiDoc->TimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 7, 73); + } else if ( exiDoc->SystemStatusReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 101); if(errn == 0) { - errn = encode_v2gIntervalType(stream, &exiDoc->TimeInterval ); + errn = encode_v2gSystemStatusReqType(stream, &exiDoc->SystemStatusReq ); + } + } else if ( exiDoc->SystemStatusRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 102); + if(errn == 0) { + errn = encode_v2gSystemStatusResType(stream, &exiDoc->SystemStatusRes ); } } else if ( exiDoc->Transform_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 7, 74); + errn = encodeNBitUnsignedInteger(stream, 7, 103); if(errn == 0) { errn = encode_v2gTransformType(stream, &exiDoc->Transform ); } } else if ( exiDoc->Transforms_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 7, 75); + errn = encodeNBitUnsignedInteger(stream, 7, 104); if(errn == 0) { errn = encode_v2gTransformsType(stream, &exiDoc->Transforms ); } + } else if ( exiDoc->V2GRequest_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ + errn = encodeNBitUnsignedInteger(stream, 7, 105); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &exiDoc->V2GRequest ); + } + } else if ( exiDoc->V2GResponse_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ + errn = encodeNBitUnsignedInteger(stream, 7, 106); + if(errn == 0) { + errn = encode_v2gV2GResponseType(stream, &exiDoc->V2GResponse ); + } } else if ( exiDoc->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 7, 76); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ + errn = encodeNBitUnsignedInteger(stream, 7, 107); if(errn == 0) { errn = encode_v2gAnonType_V2G_Message(stream, &exiDoc->V2G_Message ); } - } else if ( exiDoc->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 7, 77); + } else if ( exiDoc->VehicleCheckInReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 108); if(errn == 0) { - errn = encode_v2gWeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq ); + errn = encode_v2gVehicleCheckInReqType(stream, &exiDoc->VehicleCheckInReq ); + } + } else if ( exiDoc->VehicleCheckInRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 109); + if(errn == 0) { + errn = encode_v2gVehicleCheckInResType(stream, &exiDoc->VehicleCheckInRes ); + } + } else if ( exiDoc->VehicleCheckOutReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 110); + if(errn == 0) { + errn = encode_v2gVehicleCheckOutReqType(stream, &exiDoc->VehicleCheckOutReq ); + } + } else if ( exiDoc->VehicleCheckOutRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 111); + if(errn == 0) { + errn = encode_v2gVehicleCheckOutResType(stream, &exiDoc->VehicleCheckOutRes ); + } + } else if ( exiDoc->WPT_EVChargeParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 112); + if(errn == 0) { + errn = encode_v2gWPT_EVChargeParameterType(stream, &exiDoc->WPT_EVChargeParameter ); + } + } else if ( exiDoc->WPT_EVSEChargeParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 7, 113); + if(errn == 0) { + errn = encode_v2gWPT_EVSEChargeParameterType(stream, &exiDoc->WPT_EVSEChargeParameter ); + } + } else if ( exiDoc->WeldingDetectionReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ + errn = encodeNBitUnsignedInteger(stream, 7, 114); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &exiDoc->WeldingDetectionReq ); } } else if ( exiDoc->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 7, 78); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ + errn = encodeNBitUnsignedInteger(stream, 7, 115); if(errn == 0) { errn = encode_v2gWeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes ); } } else if ( exiDoc->X509Data_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 7, 79); + errn = encodeNBitUnsignedInteger(stream, 7, 116); if(errn == 0) { errn = encode_v2gX509DataType(stream, &exiDoc->X509Data ); } @@ -11179,133 +68637,178 @@ int encode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc) { return errn; } - + #if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = writeEXIHeader(stream); - if(errn == 0) { - /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryStart), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingSession), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2013: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:2013:MsgDataTypes}EAmount), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyCapacity), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVRESSSOC), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVReady), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header), 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:2013:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Multiplier), START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}Notification), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}OEMProvisioningCert), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), 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:2013:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RCD), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToFullSoC), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules), 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:2013:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading), 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:2013:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval), 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:2013:MsgDataTypes}Unit), START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2013: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({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amountMultiplier), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ - if ( exiFrag->AC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 0); + 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:MsgBody}EVErrorInformation), 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:MsgBody}EVSEErrorInformation), 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({urn:iso:15118:2:2016:MsgBody}ErrorCode), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorInformation), 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_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LF_EVSEFinePositioningParameters), 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}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] */ + if ( exiFrag->AC_BidirectionalControlReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 0); + if(errn == 0) { + errn = encode_v2gAC_BidirectionalControlReqType(stream, &exiFrag->AC_BidirectionalControlReq ); + } + } else if ( exiFrag->AC_BidirectionalControlRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 1); + if(errn == 0) { + errn = encode_v2gAC_BidirectionalControlResType(stream, &exiFrag->AC_BidirectionalControlRes ); + } + } else if ( exiFrag->AC_EVBidirectionalParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 2); + if(errn == 0) { + errn = encode_v2gAC_EVBidirectionalParameterType(stream, &exiFrag->AC_EVBidirectionalParameter ); + } + } else if ( exiFrag->AC_EVChargeParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 3); if(errn == 0) { errn = encode_v2gAC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter ); } + } else if ( exiFrag->AC_EVSEBidirectionalParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 4); + if(errn == 0) { + errn = encode_v2gAC_EVSEBidirectionalParameterType(stream, &exiFrag->AC_EVSEBidirectionalParameter ); + } } else if ( exiFrag->AC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 1); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 5); if(errn == 0) { errn = encode_v2gAC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter ); } - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ - } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ + } else if ( exiFrag->AlignmentCheckParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AlignmentCheckParameters */ + } else if ( exiFrag->AlignmentCheckReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 7); + if(errn == 0) { + errn = encode_v2gAlignmentCheckReqType(stream, &exiFrag->AlignmentCheckReq ); + } + } else if ( exiFrag->AlignmentCheckRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 8); + if(errn == 0) { + errn = encode_v2gAlignmentCheckResType(stream, &exiFrag->AlignmentCheckRes ); + } + } else if ( exiFrag->AlignmentOffset_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AlignmentOffset */ + } else if ( exiFrag->AngleGAtoVA_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA) */ + errn = encodeNBitUnsignedInteger(stream, 9, 10); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->AngleGAtoVA ); + } } else if ( exiFrag->AuthorizationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 4); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 11); if(errn == 0) { errn = encode_v2gAuthorizationReqType(stream, &exiFrag->AuthorizationReq ); } } else if ( exiFrag->AuthorizationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 5); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 12); if(errn == 0) { errn = encode_v2gAuthorizationResType(stream, &exiFrag->AuthorizationRes ); } } else if ( exiFrag->Body_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Body) */ - errn = encodeNBitUnsignedInteger(stream, 8, 6); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body) */ + errn = encodeNBitUnsignedInteger(stream, 9, 13); if(errn == 0) { errn = encode_v2gBodyType(stream, &exiFrag->Body ); } } else if ( exiFrag->BodyElement_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BodyElement) */ - errn = encodeNBitUnsignedInteger(stream, 8, 7); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ + errn = encodeNBitUnsignedInteger(stream, 9, 14); if(errn == 0) { errn = encode_v2gBodyBaseType(stream, &exiFrag->BodyElement ); } } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ - } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ - } else if ( exiFrag->BulkSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 10); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) */ + errn = encodeNBitUnsignedInteger(stream, 9, 15); if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->BulkSOC - 0)); + errn = encodeBoolean(stream, exiFrag->BulkChargingComplete); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->CableCheckReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 11); + } else if ( exiFrag->BulkSOC_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkSOC */ + } else if ( exiFrag->BuyBackTariff_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff) */ + errn = encodeNBitUnsignedInteger(stream, 9, 17); if(errn == 0) { - errn = encode_v2gCableCheckReqType(stream, &exiFrag->CableCheckReq ); + errn = encode_v2gSalesTariffType(stream, &exiFrag->BuyBackTariff ); + } + } else if ( exiFrag->CableCheckReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 18); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &exiFrag->CableCheckReq ); } } else if ( exiFrag->CableCheckRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CableCheckRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 12); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 19); if(errn == 0) { errn = encode_v2gCableCheckResType(stream, &exiFrag->CableCheckRes ); } } else if ( exiFrag->CanonicalizationMethod_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 13); + errn = encodeNBitUnsignedInteger(stream, 9, 20); if(errn == 0) { errn = encode_v2gCanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod ); } } else if ( exiFrag->Certificate_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Certificate */ } else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 15); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 22); if(errn == 0) { errn = encode_v2gCertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq ); } } else if ( exiFrag->CertificateInstallationRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 16); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 23); if(errn == 0) { errn = encode_v2gCertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes ); } } else if ( exiFrag->CertificateUpdateReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 17); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 24); if(errn == 0) { errn = encode_v2gCertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq ); } } else if ( exiFrag->CertificateUpdateRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateUpdateRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 18); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 25); if(errn == 0) { errn = encode_v2gCertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes ); } } else if ( exiFrag->ChargeParameterDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 19); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 26); if(errn == 0) { errn = encode_v2gChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq ); } } else if ( exiFrag->ChargeParameterDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeParameterDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 20); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 27); if(errn == 0) { errn = encode_v2gChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes ); } } else if ( exiFrag->ChargeProgress_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeProgress) */ - errn = encodeNBitUnsignedInteger(stream, 8, 21); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress) */ + errn = encodeNBitUnsignedInteger(stream, 9, 28); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11315,57 +68818,33 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->ChargeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargeService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 22); + } else if ( exiFrag->ChargingComplete_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) */ + errn = encodeNBitUnsignedInteger(stream, 9, 29); if(errn == 0) { - errn = encode_v2gChargeServiceType(stream, &exiFrag->ChargeService ); + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, exiFrag->ChargingComplete); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->ChargingPerformance_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance) */ + errn = encodeNBitUnsignedInteger(stream, 9, 30); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->ChargingPerformance ); } - } else if ( exiFrag->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ - } else if ( exiFrag->ChargingComplete_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ } else if ( exiFrag->ChargingProfile_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */ - errn = encodeNBitUnsignedInteger(stream, 8, 25); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile) */ + errn = encodeNBitUnsignedInteger(stream, 9, 31); if(errn == 0) { errn = encode_v2gChargingProfileType(stream, &exiFrag->ChargingProfile ); } - } else if ( exiFrag->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxNumberOfPhasesInUse) */ - errn = encodeNBitUnsignedInteger(stream, 8, 26); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, (uint32_t)(exiFrag->ChargingProfileEntryMaxNumberOfPhasesInUse - 1)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->ChargingProfileEntryMaxPower_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryMaxPower) */ - errn = encodeNBitUnsignedInteger(stream, 8, 27); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->ChargingProfileEntryMaxPower ); - } - } else if ( exiFrag->ChargingProfileEntryStart_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingProfileEntryStart) */ - errn = encodeNBitUnsignedInteger(stream, 8, 28); - if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->ChargingProfileEntryStart); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } } else if ( exiFrag->ChargingSession_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingSession) */ - errn = encodeNBitUnsignedInteger(stream, 8, 29); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession) */ + errn = encodeNBitUnsignedInteger(stream, 9, 32); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11376,89 +68855,134 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->ChargingStatusReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 30); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 33); if(errn == 0) { errn = encode_v2gChargingStatusReqType(stream, &exiFrag->ChargingStatusReq ); } } else if ( exiFrag->ChargingStatusRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingStatusRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 31); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 34); if(errn == 0) { errn = encode_v2gChargingStatusResType(stream, &exiFrag->ChargingStatusRes ); } + } else if ( exiFrag->CheckOutTime_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime) */ + errn = encodeNBitUnsignedInteger(stream, 9, 35); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger64(stream, exiFrag->CheckOutTime); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->ConnectChargingDeviceReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 36); + if(errn == 0) { + errn = encode_v2gConnectChargingDeviceReqType(stream, &exiFrag->ConnectChargingDeviceReq ); + } + } else if ( exiFrag->ConnectChargingDeviceRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 37); + if(errn == 0) { + errn = encode_v2gConnectChargingDeviceResType(stream, &exiFrag->ConnectChargingDeviceRes ); + } } else if ( exiFrag->ConsumptionCost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ConsumptionCost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 32); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost) */ + errn = encodeNBitUnsignedInteger(stream, 9, 38); if(errn == 0) { errn = encode_v2gConsumptionCostType(stream, &exiFrag->ConsumptionCost ); } } else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureCertChain */ } else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureEncryptedPrivateKey */ } else if ( exiFrag->Cost_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */ - errn = encodeNBitUnsignedInteger(stream, 8, 35); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost) */ + errn = encodeNBitUnsignedInteger(stream, 9, 41); if(errn == 0) { errn = encode_v2gCostType(stream, &exiFrag->Cost ); } } else if ( exiFrag->CurrentDemandReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 36); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 42); if(errn == 0) { errn = encode_v2gCurrentDemandReqType(stream, &exiFrag->CurrentDemandReq ); } } else if ( exiFrag->CurrentDemandRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CurrentDemandRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 37); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 43); if(errn == 0) { errn = encode_v2gCurrentDemandResType(stream, &exiFrag->CurrentDemandRes ); } + } else if ( exiFrag->CurrentRange_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange) */ + errn = encodeNBitUnsignedInteger(stream, 9, 44); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, exiFrag->CurrentRange); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->CurrentSOC_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name CurrentSOC */ + } else if ( exiFrag->DC_BidirectionalControlReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 46); + if(errn == 0) { + errn = encode_v2gDC_BidirectionalControlReqType(stream, &exiFrag->DC_BidirectionalControlReq ); + } + } else if ( exiFrag->DC_BidirectionalControlRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 47); + if(errn == 0) { + errn = encode_v2gDC_BidirectionalControlResType(stream, &exiFrag->DC_BidirectionalControlRes ); + } + } else if ( exiFrag->DC_EVBidirectionalParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 48); + if(errn == 0) { + errn = encode_v2gDC_EVBidirectionalParameterType(stream, &exiFrag->DC_EVBidirectionalParameter ); + } } else if ( exiFrag->DC_EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 38); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 49); if(errn == 0) { errn = encode_v2gDC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter ); } - } else if ( exiFrag->DC_EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 39); + } else if ( exiFrag->DC_EVSEBidirectionalParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 50); if(errn == 0) { - errn = encode_v2gDC_EVPowerDeliveryParameterType(stream, &exiFrag->DC_EVPowerDeliveryParameter ); + errn = encode_v2gDC_EVSEBidirectionalParameterType(stream, &exiFrag->DC_EVSEBidirectionalParameter ); } } else if ( exiFrag->DC_EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 40); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 51); if(errn == 0) { errn = encode_v2gDC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter ); } - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ - } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ - } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ } else if ( exiFrag->DHpublickey_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DHpublickey */ } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 46); + errn = encodeNBitUnsignedInteger(stream, 9, 53); if(errn == 0) { errn = encode_v2gDSAKeyValueType(stream, &exiFrag->DSAKeyValue ); } } else if ( exiFrag->DepartureTime_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DepartureTime) */ - errn = encodeNBitUnsignedInteger(stream, 8, 47); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) */ + errn = encodeNBitUnsignedInteger(stream, 9, 54); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11470,13 +68994,13 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->DigestMethod_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 48); + errn = encodeNBitUnsignedInteger(stream, 9, 55); if(errn == 0) { errn = encode_v2gDigestMethodType(stream, &exiFrag->DigestMethod ); } } else if ( exiFrag->DigestValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 49); + errn = encodeNBitUnsignedInteger(stream, 9, 56); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11489,15 +69013,33 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->EAmount_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EAmount) */ - errn = encodeNBitUnsignedInteger(stream, 8, 50); + } else if ( exiFrag->DisconnectChargingDeviceReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 57); if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->EAmount ); + errn = encode_v2gDisconnectChargingDeviceReqType(stream, &exiFrag->DisconnectChargingDeviceReq ); + } + } else if ( exiFrag->DisconnectChargingDeviceRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 58); + if(errn == 0) { + errn = encode_v2gDisconnectChargingDeviceResType(stream, &exiFrag->DisconnectChargingDeviceRes ); + } + } else if ( exiFrag->DisplayParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 59); + if(errn == 0) { + errn = encode_v2gDisplayParametersType(stream, &exiFrag->DisplayParameters ); + } + } else if ( exiFrag->Distance_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance) */ + errn = encodeNBitUnsignedInteger(stream, 9, 60); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->Distance ); } } else if ( exiFrag->EPriceLevel_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EPriceLevel) */ - errn = encodeNBitUnsignedInteger(stream, 8, 51); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel) */ + errn = encodeNBitUnsignedInteger(stream, 9, 61); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11508,8 +69050,8 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->EVCCID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVCCID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 52); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID) */ + errn = encodeNBitUnsignedInteger(stream, 9, 62); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11522,340 +69064,456 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->EVChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 53); - if(errn == 0) { - errn = encode_v2gEVChargeParameterType(stream, &exiFrag->EVChargeParameter ); - } - } else if ( exiFrag->EVEnergyCapacity_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyCapacity) */ - errn = encodeNBitUnsignedInteger(stream, 8, 54); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVEnergyCapacity ); - } - } else if ( exiFrag->EVEnergyRequest_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVEnergyRequest) */ - errn = encodeNBitUnsignedInteger(stream, 8, 55); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVEnergyRequest ); - } - } else if ( exiFrag->EVErrorCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVErrorCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 56); + } else if ( exiFrag->EVCheckInStatus_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus) */ + errn = encodeNBitUnsignedInteger(stream, 9, 63); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->EVErrorCode); + errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVCheckInStatus); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->EVMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 57); + } else if ( exiFrag->EVCheckOutStatus_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus) */ + errn = encodeNBitUnsignedInteger(stream, 9, 64); if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVMaxCurrent ); - } - } else if ( exiFrag->EVMaxVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaxVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 58); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVMaxVoltage ); - } - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ - } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ - } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ - } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ - } else if ( exiFrag->EVMinCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 65); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVMinCurrent ); - } - } else if ( exiFrag->EVPowerDeliveryParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVPowerDeliveryParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 66); - if(errn == 0) { - errn = encode_v2gEVPowerDeliveryParameterType(stream, &exiFrag->EVPowerDeliveryParameter ); - } - } else if ( exiFrag->EVRESSSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVRESSSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 67); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->EVRESSSOC - 0)); + errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVCheckOutStatus); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->EVReady_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVReady) */ - errn = encodeNBitUnsignedInteger(stream, 8, 68); + } else if ( exiFrag->EVElectricalChargingDeviceStatus_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVElectricalChargingDeviceStatus */ + } else if ( exiFrag->EVEnergyTransferParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 66); if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encode_v2gEVEnergyTransferParameterType(stream, &exiFrag->EVEnergyTransferParameter ); + } + } else if ( exiFrag->EVErrorInformation_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVErrorInformation) */ + errn = encodeNBitUnsignedInteger(stream, 9, 67); + if(errn == 0) { + errn = encode_v2gEVErrorInformationType(stream, &exiFrag->EVErrorInformation ); + } + } else if ( exiFrag->EVFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 68); + if(errn == 0) { + errn = encode_v2gEVFinePositioningParametersType(stream, &exiFrag->EVFinePositioningParameters ); + } + } else if ( exiFrag->EVFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 69); + if(errn == 0) { + errn = encode_v2gEVFinePositioningSetupParametersType(stream, &exiFrag->EVFinePositioningSetupParameters ); + } + } else if ( exiFrag->EVInputPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 70); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVInputPower ); + } + } else if ( exiFrag->EVMaximumChargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumChargeCurrent */ + } else if ( exiFrag->EVMaximumChargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumChargeCurrent */ + } else if ( exiFrag->EVMaximumChargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumChargePower */ + } else if ( exiFrag->EVMaximumChargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumChargePower */ + } else if ( exiFrag->EVMaximumCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent) */ + errn = encodeNBitUnsignedInteger(stream, 9, 75); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVMaximumCurrent ); + } + } else if ( exiFrag->EVMaximumDischargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumDischargeCurrent */ + } else if ( exiFrag->EVMaximumDischargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumDischargeCurrent */ + } else if ( exiFrag->EVMaximumDischargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumDischargePower */ + } else if ( exiFrag->EVMaximumDischargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumDischargePower */ + } else if ( exiFrag->EVMaximumEnergyRequest_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumEnergyRequest */ + } else if ( exiFrag->EVMaximumEnergyRequest_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumEnergyRequest */ + } else if ( exiFrag->EVMaximumPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPower */ + } else if ( exiFrag->EVMaximumPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPower */ + } else if ( exiFrag->EVMaximumVoltage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltage */ + } else if ( exiFrag->EVMaximumVoltage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltage */ + } else if ( exiFrag->EVMechanicalChargingDeviceStatus_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMechanicalChargingDeviceStatus */ + } else if ( exiFrag->EVMinimumChargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumChargeCurrent */ + } else if ( exiFrag->EVMinimumChargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumChargeCurrent */ + } else if ( exiFrag->EVMinimumChargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 89); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVMinimumChargePower ); + } + } else if ( exiFrag->EVMinimumDischargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumDischargeCurrent */ + } else if ( exiFrag->EVMinimumDischargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumDischargeCurrent */ + } else if ( exiFrag->EVMinimumDischargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 92); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVMinimumDischargePower ); + } + } else if ( exiFrag->EVMinimumEnergyRequest_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumEnergyRequest */ + } else if ( exiFrag->EVMinimumEnergyRequest_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumEnergyRequest */ + } else if ( exiFrag->EVMinimumPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 95); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVMinimumPower ); + } + } else if ( exiFrag->EVMinimumVoltage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumVoltage */ + } else if ( exiFrag->EVMinimumVoltage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMinimumVoltage */ + } else if ( exiFrag->EVOperation_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVOperation */ + } else if ( exiFrag->EVPresentActivePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 99); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVPresentActivePower ); + } + } else if ( exiFrag->EVPresentReactivePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 100); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVPresentReactivePower ); + } + } else if ( exiFrag->EVProcessing_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVProcessing */ + } else if ( exiFrag->EVSECheckOutStatus_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) */ + errn = encodeNBitUnsignedInteger(stream, 9, 102); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVReady); + errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSECheckOutStatus); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->EVSEChargeParameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEChargeParameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 69); - if(errn == 0) { - errn = encode_v2gEVSEChargeParameterType(stream, &exiFrag->EVSEChargeParameter ); - } } else if ( exiFrag->EVSECurrentLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSECurrentLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 8, 70); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVSECurrentLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSECurrentLimitAchieved */ } else if ( exiFrag->EVSECurrentRegulationTolerance_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSECurrentRegulationTolerance) */ - errn = encodeNBitUnsignedInteger(stream, 8, 71); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance) */ + errn = encodeNBitUnsignedInteger(stream, 9, 104); if(errn == 0) { errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance ); } + } else if ( exiFrag->EVSEElectricalChargingDeviceStatus_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEElectricalChargingDeviceStatus */ } else if ( exiFrag->EVSEEnergyToBeDelivered_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEEnergyToBeDelivered) */ - errn = encodeNBitUnsignedInteger(stream, 8, 72); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered) */ + errn = encodeNBitUnsignedInteger(stream, 9, 106); if(errn == 0) { errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered ); } + } else if ( exiFrag->EVSEEnergyTransferParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 107); + if(errn == 0) { + errn = encode_v2gEVSEEnergyTransferParameterType(stream, &exiFrag->EVSEEnergyTransferParameter ); + } + } else if ( exiFrag->EVSEErrorInformation_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEErrorInformation) */ + errn = encodeNBitUnsignedInteger(stream, 9, 108); + if(errn == 0) { + errn = encode_v2gEVSEErrorInformationType(stream, &exiFrag->EVSEErrorInformation ); + } + } else if ( exiFrag->EVSEFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 109); + if(errn == 0) { + errn = encode_v2gEVSEFinePositioningParametersType(stream, &exiFrag->EVSEFinePositioningParameters ); + } + } else if ( exiFrag->EVSEFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 110); + if(errn == 0) { + errn = encode_v2gEVSEFinePositioningSetupParametersType(stream, &exiFrag->EVSEFinePositioningSetupParameters ); + } } else if ( exiFrag->EVSEID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEID */ - } else if ( exiFrag->EVSEIsolationStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 74); + } else if ( exiFrag->EVSEMaximumChargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumChargeCurrent */ + } else if ( exiFrag->EVSEMaximumChargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumChargeCurrent */ + } else if ( exiFrag->EVSEMaximumChargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumChargePower */ + } else if ( exiFrag->EVSEMaximumChargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumChargePower */ + } else if ( exiFrag->EVSEMaximumCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent) */ + errn = encodeNBitUnsignedInteger(stream, 9, 116); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->EVSEIsolationStatus); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrent ); } - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ - } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ - } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ - } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ - } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ - } else if ( exiFrag->EVSEMinimumCurrentLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 83); + } else if ( exiFrag->EVSEMaximumDischargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumDischargeCurrent */ + } else if ( exiFrag->EVSEMaximumDischargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumDischargeCurrent */ + } else if ( exiFrag->EVSEMaximumDischargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumDischargePower */ + } else if ( exiFrag->EVSEMaximumDischargePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumDischargePower */ + } else if ( exiFrag->EVSEMaximumPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPower */ + } else if ( exiFrag->EVSEMaximumPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPower */ + } else if ( exiFrag->EVSEMaximumVoltage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltage */ + } else if ( exiFrag->EVSEMaximumVoltage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltage */ + } else if ( exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMechanicalChargingDeviceStatus */ + } else if ( exiFrag->EVSEMinimumChargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent) */ + errn = encodeNBitUnsignedInteger(stream, 9, 126); if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumCurrentLimit ); + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumChargeCurrent ); } - } else if ( exiFrag->EVSEMinimumVoltageLimit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumVoltageLimit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 84); + } else if ( exiFrag->EVSEMinimumDischargeCurrent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent) */ + errn = encodeNBitUnsignedInteger(stream, 9, 127); if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumVoltageLimit ); + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumDischargeCurrent ); } + } else if ( exiFrag->EVSEMinimumPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 128); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEMinimumPower ); + } + } else if ( exiFrag->EVSEMinimumVoltage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMinimumVoltage */ + } else if ( exiFrag->EVSEMinimumVoltage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMinimumVoltage */ + } else if ( exiFrag->EVSENominalFrequency_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSENominalFrequency */ } else if ( exiFrag->EVSENominalVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENominalVoltage) */ - errn = encodeNBitUnsignedInteger(stream, 8, 85); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage) */ + errn = encodeNBitUnsignedInteger(stream, 9, 132); if(errn == 0) { errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSENominalVoltage ); } } else if ( exiFrag->EVSENotification_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSENotification) */ - errn = encodeNBitUnsignedInteger(stream, 8, 86); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification) */ + errn = encodeNBitUnsignedInteger(stream, 9, 133); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSENotification); + errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVSENotification); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } + } else if ( exiFrag->EVSEOutputPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 134); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEOutputPower ); + } } else if ( exiFrag->EVSEPeakCurrentRipple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEPeakCurrentRipple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 87); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple) */ + errn = encodeNBitUnsignedInteger(stream, 9, 135); if(errn == 0) { errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple ); } } else if ( exiFrag->EVSEPowerLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPowerLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 8, 88); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVSEPowerLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPowerLimitAchieved */ } else if ( exiFrag->EVSEPresentCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentCurrent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 89); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSEPresentCurrent ); - } + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPresentCurrent */ } else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPresentVoltage */ } else if ( exiFrag->EVSEProcessing_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEProcessing */ } else if ( exiFrag->EVSEStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 92); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus) */ + errn = encodeNBitUnsignedInteger(stream, 9, 140); if(errn == 0) { errn = encode_v2gEVSEStatusType(stream, &exiFrag->EVSEStatus ); } - } else if ( exiFrag->EVSEStatusCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatusCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 93); + } else if ( exiFrag->EVSETargetPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSETargetPower */ + } else if ( exiFrag->EVSETargetReactivePower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 142); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 4, exiFrag->EVSEStatusCode); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVSETargetReactivePower ); } } else if ( exiFrag->EVSETimeStamp_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSETimeStamp */ } else if ( exiFrag->EVSEVoltageLimitAchieved_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEVoltageLimitAchieved) */ - errn = encodeNBitUnsignedInteger(stream, 8, 95); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->EVSEVoltageLimitAchieved); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->EVStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 96); - if(errn == 0) { - errn = encode_v2gEVStatusType(stream, &exiFrag->EVStatus ); - } + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEVoltageLimitAchieved */ } else if ( exiFrag->EVTargetCurrent_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetCurrent */ - } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetVoltage */ - } else if ( exiFrag->EnergyTransferMode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 99); + } else if ( exiFrag->EVTargetEnergyRequest_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetEnergyRequest */ + } else if ( exiFrag->EVTargetEnergyRequest_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetEnergyRequest */ + } else if ( exiFrag->EVTargetPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 148); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encode_v2gPhysicalValueType(stream, &exiFrag->EVTargetPower ); + } + } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetVoltage */ + } else if ( exiFrag->EffectiveRadiatedPower_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower) */ + errn = encodeNBitUnsignedInteger(stream, 9, 150); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->EnergyTransferMode); + errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->EffectiveRadiatedPower + 128)); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->Entry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Entry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 100); + } else if ( exiFrag->EnergyTransferServiceList_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList) */ + errn = encodeNBitUnsignedInteger(stream, 9, 151); if(errn == 0) { - errn = encode_v2gEntryType(stream, &exiFrag->Entry ); + errn = encode_v2gServiceListType(stream, &exiFrag->EnergyTransferServiceList ); + } + } else if ( exiFrag->ErrorCode_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorCode) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ErrorCode */ + } else if ( exiFrag->ErrorInformation_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ErrorInformation) */ + errn = encodeNBitUnsignedInteger(stream, 9, 153); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &exiFrag->ErrorInformation ); } } else if ( exiFrag->Exponent_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ - errn = encodeNBitUnsignedInteger(stream, 8, 101); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Exponent.bytesLen)); - if (errn == 0) { - errn = encodeBytes(stream, exiFrag->Exponent.bytes, exiFrag->Exponent.bytesLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->FaultCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultCode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 102); + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ + } else if ( exiFrag->Exponent_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ + } else if ( exiFrag->FODStatus_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus) */ + errn = encodeNBitUnsignedInteger(stream, 9, 156); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->FaultCode); + errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->FODStatus); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->FaultMsg_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FaultMsg) */ - errn = encodeNBitUnsignedInteger(stream, 8, 103); + } else if ( exiFrag->FinePositioningReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 157); if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->FaultMsg.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->FaultMsg.characters, exiFrag->FaultMsg.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gFinePositioningReqType(stream, &exiFrag->FinePositioningReq ); + } + } else if ( exiFrag->FinePositioningRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 158); + if(errn == 0) { + errn = encode_v2gFinePositioningResType(stream, &exiFrag->FinePositioningRes ); + } + } else if ( exiFrag->FinePositioningSetupReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 159); + if(errn == 0) { + errn = encode_v2gFinePositioningSetupReqType(stream, &exiFrag->FinePositioningSetupReq ); + } + } else if ( exiFrag->FinePositioningSetupRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 160); + if(errn == 0) { + errn = encode_v2gFinePositioningSetupResType(stream, &exiFrag->FinePositioningSetupRes ); } } else if ( exiFrag->FreeService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FreeService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 104); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) */ + errn = encodeNBitUnsignedInteger(stream, 9, 161); if(errn == 0) { /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11865,21 +69523,12 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->FullSOC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}FullSOC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 105); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->FullSOC - 0)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } + } else if ( exiFrag->FrequencyChannel_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name FrequencyChannel */ } else if ( exiFrag->G_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ - errn = encodeNBitUnsignedInteger(stream, 8, 106); + errn = encodeNBitUnsignedInteger(stream, 9, 163); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11892,12 +69541,30 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } + } else if ( exiFrag->GAID_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GAID */ } else if ( exiFrag->GenChallenge_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GenChallenge */ + } else if ( exiFrag->GenericParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GenericParameters */ + } else if ( exiFrag->Generic_EVFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 167); + if(errn == 0) { + errn = encode_v2gGeneric_EVFinePositioningParametersType(stream, &exiFrag->Generic_EVFinePositioningParameters ); + } + } else if ( exiFrag->Generic_EVSEFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 168); + if(errn == 0) { + errn = encode_v2gGeneric_EVSEFinePositioningParametersType(stream, &exiFrag->Generic_EVSEFinePositioningParameters ); + } } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ - errn = encodeNBitUnsignedInteger(stream, 8, 108); + errn = encodeNBitUnsignedInteger(stream, 9, 169); if(errn == 0) { /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11908,14 +69575,26 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->Header_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}Header) */ - errn = encodeNBitUnsignedInteger(stream, 8, 109); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header) */ + errn = encodeNBitUnsignedInteger(stream, 9, 170); if(errn == 0) { errn = encode_v2gMessageHeaderType(stream, &exiFrag->Header ); } + } else if ( exiFrag->InletHot_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) */ + errn = encodeNBitUnsignedInteger(stream, 9, 171); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeBoolean(stream, exiFrag->InletHot); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } } else if ( exiFrag->J_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ - errn = encodeNBitUnsignedInteger(stream, 8, 110); + errn = encodeNBitUnsignedInteger(stream, 9, 172); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11930,13 +69609,13 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->KeyInfo_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 111); + errn = encodeNBitUnsignedInteger(stream, 9, 173); if(errn == 0) { errn = encode_v2gKeyInfoType(stream, &exiFrag->KeyInfo ); } } else if ( exiFrag->KeyName_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 112); + errn = encodeNBitUnsignedInteger(stream, 9, 174); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11952,34 +69631,106 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->KeyValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 113); + errn = encodeNBitUnsignedInteger(stream, 9, 175); if(errn == 0) { errn = encode_v2gKeyValueType(stream, &exiFrag->KeyValue ); } + } else if ( exiFrag->LFA_EVFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 176); + if(errn == 0) { + errn = encode_v2gLFA_EVFinePositioningParametersType(stream, &exiFrag->LFA_EVFinePositioningParameters ); + } + } else if ( exiFrag->LFA_EVFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 177); + if(errn == 0) { + errn = encode_v2gLFA_EVFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVFinePositioningSetupParameters ); + } + } else if ( exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 178); + if(errn == 0) { + errn = encode_v2gLFA_EVSEFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVSEFinePositioningSetupParameters ); + } + } else if ( exiFrag->LF_EVSEFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LF_EVSEFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 179); + if(errn == 0) { + errn = encode_v2gLF_EVSEFinePositioningParametersType(stream, &exiFrag->LF_EVSEFinePositioningParameters ); + } } else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ListOfRootCertificateIDs */ + } else if ( exiFrag->MV_EVSEFinePositioningParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 181); + if(errn == 0) { + errn = encode_v2gMV_EVSEFinePositioningParametersType(stream, &exiFrag->MV_EVSEFinePositioningParameters ); + } + } else if ( exiFrag->MV_EVSEFinePositioningSetupParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ + errn = encodeNBitUnsignedInteger(stream, 9, 182); + if(errn == 0) { + errn = encode_v2gMV_EVSEFinePositioningSetupParametersType(stream, &exiFrag->MV_EVSEFinePositioningSetupParameters ); + } + } else if ( exiFrag->MagneticVector_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector) */ + errn = encodeNBitUnsignedInteger(stream, 9, 183); + if(errn == 0) { + errn = encode_v2gMagneticVectorType(stream, &exiFrag->MagneticVector ); + } + } else if ( exiFrag->MagneticVectorList_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList) */ + errn = encodeNBitUnsignedInteger(stream, 9, 184); + if(errn == 0) { + errn = encode_v2gMagneticVectorListType(stream, &exiFrag->MagneticVectorList ); + } + } else if ( exiFrag->MagneticVectorSetup_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup) */ + errn = encodeNBitUnsignedInteger(stream, 9, 185); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupType(stream, &exiFrag->MagneticVectorSetup ); + } + } else if ( exiFrag->MagneticVectorSetupList_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList) */ + errn = encodeNBitUnsignedInteger(stream, 9, 186); + if(errn == 0) { + errn = encode_v2gMagneticVectorSetupListType(stream, &exiFrag->MagneticVectorSetupList ); + } } else if ( exiFrag->Manifest_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ - errn = encodeNBitUnsignedInteger(stream, 8, 115); + errn = encodeNBitUnsignedInteger(stream, 9, 187); if(errn == 0) { errn = encode_v2gManifestType(stream, &exiFrag->Manifest ); } - } else if ( exiFrag->MaxEntriesSAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MaxEntriesSAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 116); + } else if ( exiFrag->MaxSupportingPoints_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) */ + errn = encodeNBitUnsignedInteger(stream, 9, 188); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 10, (uint32_t)(exiFrag->MaxSupportingPoints - 12)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->MeasurementData_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) */ + errn = encodeNBitUnsignedInteger(stream, 9, 189); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeUnsignedInteger16(stream, exiFrag->MaxEntriesSAScheduleTuple); + errn = encodeUnsignedInteger16(stream, exiFrag->MeasurementData); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } } else if ( exiFrag->MeterID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 117); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) */ + errn = encodeNBitUnsignedInteger(stream, 9, 190); if(errn == 0) { /* FirstStartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -11994,23 +69745,35 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->MeterInfo_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name MeterInfo */ - } else if ( exiFrag->MeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 119); + } else if ( exiFrag->MeterReadingCharged_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) */ + errn = encodeNBitUnsignedInteger(stream, 9, 192); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeUnsignedInteger64(stream, exiFrag->MeterReading); + errn = encodeUnsignedInteger64(stream, exiFrag->MeterReadingCharged); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->MeterReadingDischarged_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) */ + errn = encodeNBitUnsignedInteger(stream, 9, 193); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger64(stream, exiFrag->MeterReadingDischarged); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } } else if ( exiFrag->MeterStatus_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterStatus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 120); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) */ + errn = encodeNBitUnsignedInteger(stream, 9, 194); if(errn == 0) { /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12021,20 +69784,20 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->MeteringReceiptReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 121); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 195); if(errn == 0) { errn = encode_v2gMeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq ); } } else if ( exiFrag->MeteringReceiptRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeteringReceiptRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 122); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 196); if(errn == 0) { - errn = encode_v2gMeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes ); + errn = encode_v2gV2GResponseType(stream, &exiFrag->MeteringReceiptRes ); } } else if ( exiFrag->MgmtData_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 123); + errn = encodeNBitUnsignedInteger(stream, 9, 197); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12048,9 +69811,24 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } + } else if ( exiFrag->MinimumPMaxRequest_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest) */ + errn = encodeNBitUnsignedInteger(stream, 9, 198); + if(errn == 0) { + errn = encode_v2gMinimumPMaxRequestType(stream, &exiFrag->MinimumPMaxRequest ); + } + } else if ( exiFrag->MinimumPMaxScheduleEntry_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry) */ + errn = encodeNBitUnsignedInteger(stream, 9, 199); + if(errn == 0) { + errn = encode_v2gPMaxScheduleEntryType(stream, &exiFrag->MinimumPMaxScheduleEntry ); + } + } else if ( exiFrag->MinimumSOC_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name MinimumSOC */ } else if ( exiFrag->Modulus_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ - errn = encodeNBitUnsignedInteger(stream, 8, 124); + errn = encodeNBitUnsignedInteger(stream, 9, 201); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12063,27 +69841,9 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->Multiplier_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Multiplier) */ - errn = encodeNBitUnsignedInteger(stream, 8, 125); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(exiFrag->Multiplier + 3)); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } - } else if ( exiFrag->Notification_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}Notification) */ - errn = encodeNBitUnsignedInteger(stream, 8, 126); - if(errn == 0) { - errn = encode_v2gNotificationType(stream, &exiFrag->Notification ); - } } else if ( exiFrag->NotificationMaxDelay_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NotificationMaxDelay) */ - errn = encodeNBitUnsignedInteger(stream, 8, 127); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) */ + errn = encodeNBitUnsignedInteger(stream, 9, 202); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12094,8 +69854,8 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->NumEPriceLevels_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}NumEPriceLevels) */ - errn = encodeNBitUnsignedInteger(stream, 8, 128); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) */ + errn = encodeNBitUnsignedInteger(stream, 9, 203); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12105,9 +69865,15 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } + } else if ( exiFrag->NumberOfSensors_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name NumberOfSensors */ + } else if ( exiFrag->NumberOfSignalPackages_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name NumberOfSignalPackages */ } else if ( exiFrag->OEMProvisioningCert_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}OEMProvisioningCert) */ - errn = encodeNBitUnsignedInteger(stream, 8, 129); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) */ + errn = encodeNBitUnsignedInteger(stream, 9, 206); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12122,13 +69888,16 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->Object_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ - errn = encodeNBitUnsignedInteger(stream, 8, 130); + errn = encodeNBitUnsignedInteger(stream, 9, 207); if(errn == 0) { errn = encode_v2gObjectType(stream, &exiFrag->Object ); } + } else if ( exiFrag->OperationMode_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name OperationMode */ } else if ( exiFrag->P_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ - errn = encodeNBitUnsignedInteger(stream, 8, 131); + errn = encodeNBitUnsignedInteger(stream, 9, 209); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12143,13 +69912,13 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->PGPData_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 132); + errn = encodeNBitUnsignedInteger(stream, 9, 210); if(errn == 0) { errn = encode_v2gPGPDataType(stream, &exiFrag->PGPData ); } } else if ( exiFrag->PGPKeyID_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 133); + errn = encodeNBitUnsignedInteger(stream, 9, 211); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12166,53 +69935,101 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ } else if ( exiFrag->PMax_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */ - errn = encodeNBitUnsignedInteger(stream, 8, 135); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax) */ + errn = encodeNBitUnsignedInteger(stream, 9, 213); if(errn == 0) { errn = encode_v2gPhysicalValueType(stream, &exiFrag->PMax ); } + } else if ( exiFrag->PMaxDischargeSchedule_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule) */ + errn = encodeNBitUnsignedInteger(stream, 9, 214); + if(errn == 0) { + errn = encode_v2gPMaxScheduleType(stream, &exiFrag->PMaxDischargeSchedule ); + } } else if ( exiFrag->PMaxSchedule_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxSchedule) */ - errn = encodeNBitUnsignedInteger(stream, 8, 136); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule) */ + errn = encodeNBitUnsignedInteger(stream, 9, 215); if(errn == 0) { errn = encode_v2gPMaxScheduleType(stream, &exiFrag->PMaxSchedule ); } } else if ( exiFrag->PMaxScheduleEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMaxScheduleEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 137); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ + errn = encodeNBitUnsignedInteger(stream, 9, 216); if(errn == 0) { errn = encode_v2gPMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry ); } + } else if ( exiFrag->PackageIndex_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex) */ + errn = encodeNBitUnsignedInteger(stream, 9, 217); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger32(stream, exiFrag->PackageIndex); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->PackageSeparationTime_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PackageSeparationTime */ + } else if ( exiFrag->PairingParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PairingParameters */ + } else if ( exiFrag->PairingReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 220); + if(errn == 0) { + errn = encode_v2gPairingReqType(stream, &exiFrag->PairingReq ); + } + } else if ( exiFrag->PairingRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 221); + if(errn == 0) { + errn = encode_v2gPairingResType(stream, &exiFrag->PairingRes ); + } } else if ( exiFrag->Parameter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Parameter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 138); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 222); if(errn == 0) { errn = encode_v2gParameterType(stream, &exiFrag->Parameter ); } } else if ( exiFrag->ParameterSet_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSet) */ - errn = encodeNBitUnsignedInteger(stream, 8, 139); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet) */ + errn = encodeNBitUnsignedInteger(stream, 9, 223); if(errn == 0) { errn = encode_v2gParameterSetType(stream, &exiFrag->ParameterSet ); } } else if ( exiFrag->ParameterSetID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ParameterSetID */ + } else if ( exiFrag->ParkingMethod_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod) */ + errn = encodeNBitUnsignedInteger(stream, 9, 225); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ParkingMethod); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } } else if ( exiFrag->PaymentDetailsReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 141); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 226); if(errn == 0) { errn = encode_v2gPaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq ); } } else if ( exiFrag->PaymentDetailsRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 142); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 227); if(errn == 0) { errn = encode_v2gPaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes ); } } else if ( exiFrag->PaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 143); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) */ + errn = encodeNBitUnsignedInteger(stream, 9, 228); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12223,26 +70040,26 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->PaymentOptionList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentOptionList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 144); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList) */ + errn = encodeNBitUnsignedInteger(stream, 9, 229); if(errn == 0) { errn = encode_v2gPaymentOptionListType(stream, &exiFrag->PaymentOptionList ); } } else if ( exiFrag->PaymentServiceSelectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 145); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 230); if(errn == 0) { errn = encode_v2gPaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq ); } } else if ( exiFrag->PaymentServiceSelectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentServiceSelectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 146); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 231); if(errn == 0) { - errn = encode_v2gPaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes ); + errn = encode_v2gV2GResponseType(stream, &exiFrag->PaymentServiceSelectionRes ); } } else if ( exiFrag->PgenCounter_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 147); + errn = encodeNBitUnsignedInteger(stream, 9, 232); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12256,38 +70073,53 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->PowerDeliveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 148); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 233); if(errn == 0) { errn = encode_v2gPowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq ); } } else if ( exiFrag->PowerDeliveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PowerDeliveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 149); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 234); if(errn == 0) { errn = encode_v2gPowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes ); } + } else if ( exiFrag->PowerDemandParameters_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PowerDemandParameters */ + } else if ( exiFrag->PowerDemandReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 236); + if(errn == 0) { + errn = encode_v2gPowerDemandReqType(stream, &exiFrag->PowerDemandReq ); + } + } else if ( exiFrag->PowerDemandRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 237); + if(errn == 0) { + errn = encode_v2gPowerDemandResType(stream, &exiFrag->PowerDemandRes ); + } } else if ( exiFrag->PreChargeReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 150); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 238); if(errn == 0) { errn = encode_v2gPreChargeReqType(stream, &exiFrag->PreChargeReq ); } } else if ( exiFrag->PreChargeRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PreChargeRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 151); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 239); if(errn == 0) { errn = encode_v2gPreChargeResType(stream, &exiFrag->PreChargeRes ); } } else if ( exiFrag->ProfileEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ProfileEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 152); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry) */ + errn = encodeNBitUnsignedInteger(stream, 9, 240); if(errn == 0) { - errn = encode_v2gProfileEntryType(stream, &exiFrag->ProfileEntry ); + errn = encode_v2gPMaxScheduleEntryType(stream, &exiFrag->ProfileEntry ); } } else if ( exiFrag->Q_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ - errn = encodeNBitUnsignedInteger(stream, 8, 153); + errn = encodeNBitUnsignedInteger(stream, 9, 241); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12300,75 +70132,81 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->RCD_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RCD) */ - errn = encodeNBitUnsignedInteger(stream, 8, 154); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeBoolean(stream, exiFrag->RCD); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } } else if ( exiFrag->RSAKeyValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 155); + errn = encodeNBitUnsignedInteger(stream, 9, 242); if(errn == 0) { errn = encode_v2gRSAKeyValueType(stream, &exiFrag->RSAKeyValue ); } } else if ( exiFrag->ReceiptRequired_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ReceiptRequired */ } else if ( exiFrag->Reference_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ - errn = encodeNBitUnsignedInteger(stream, 8, 157); + errn = encodeNBitUnsignedInteger(stream, 9, 244); if(errn == 0) { errn = encode_v2gReferenceType(stream, &exiFrag->Reference ); } } else if ( exiFrag->RelativeTimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RelativeTimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 8, 158); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name RelativeTimeInterval */ + } else if ( exiFrag->RemainingTimeToBulkSOC_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) */ + errn = encodeNBitUnsignedInteger(stream, 9, 246); if(errn == 0) { - errn = encode_v2gRelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval ); - } - } else if ( exiFrag->RemainingTimeToBulkSoC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToBulkSoC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 159); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->RemainingTimeToBulkSoC ); - } - } else if ( exiFrag->RemainingTimeToFullSoC_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RemainingTimeToFullSoC) */ - errn = encodeNBitUnsignedInteger(stream, 8, 160); - if(errn == 0) { - errn = encode_v2gPhysicalValueType(stream, &exiFrag->RemainingTimeToFullSoC ); - } - } else if ( exiFrag->RequestedEnergyTransferMode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RequestedEnergyTransferMode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 161); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->RequestedEnergyTransferMode); + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->RemainingTimeToBulkSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->RemainingTimeToMinimumSOC_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) */ + errn = encodeNBitUnsignedInteger(stream, 9, 247); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->RemainingTimeToMinimumSOC - 0)); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->RemainingTimeToTargetSOC_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) */ + errn = encodeNBitUnsignedInteger(stream, 9, 248); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 7, (uint32_t)(exiFrag->RemainingTimeToTargetSOC - 0)); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } } else if ( exiFrag->ResponseCode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ResponseCode */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) */ + errn = encodeNBitUnsignedInteger(stream, 9, 249); + if(errn == 0) { + /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeNBitUnsignedInteger(stream, 5, exiFrag->ResponseCode); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } } else if ( exiFrag->RetrievalMethod_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 163); + errn = encodeNBitUnsignedInteger(stream, 9, 250); if(errn == 0) { errn = encode_v2gRetrievalMethodType(stream, &exiFrag->RetrievalMethod ); } } else if ( exiFrag->RetryCounter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}RetryCounter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 164); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 251); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12379,47 +70217,47 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->RootCertificateID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}RootCertificateID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 165); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID) */ + errn = encodeNBitUnsignedInteger(stream, 9, 252); if(errn == 0) { errn = encode_v2gX509IssuerSerialType(stream, &exiFrag->RootCertificateID ); } + } else if ( exiFrag->RotationVAtoGA_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA) */ + errn = encodeNBitUnsignedInteger(stream, 9, 253); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->RotationVAtoGA ); + } } else if ( exiFrag->SAProvisioningCertificateChain_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAProvisioningCertificateChain */ } else if ( exiFrag->SAScheduleList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 167); - if(errn == 0) { - errn = encode_v2gSAScheduleListType(stream, &exiFrag->SAScheduleList ); - } + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleList */ + } else if ( exiFrag->SAScheduleList_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleList */ } else if ( exiFrag->SAScheduleTuple_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTuple) */ - errn = encodeNBitUnsignedInteger(stream, 8, 168); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple) */ + errn = encodeNBitUnsignedInteger(stream, 9, 257); if(errn == 0) { errn = encode_v2gSAScheduleTupleType(stream, &exiFrag->SAScheduleTuple ); } } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ - } else if ( exiFrag->SASchedules_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ - errn = encodeNBitUnsignedInteger(stream, 8, 171); - if(errn == 0) { - errn = encode_v2gSASchedulesType(stream, &exiFrag->SASchedules ); - } } else if ( exiFrag->SPKIData_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ - errn = encodeNBitUnsignedInteger(stream, 8, 172); + errn = encodeNBitUnsignedInteger(stream, 9, 260); if(errn == 0) { errn = encode_v2gSPKIDataType(stream, &exiFrag->SPKIData ); } } else if ( exiFrag->SPKISexp_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ - errn = encodeNBitUnsignedInteger(stream, 8, 173); + errn = encodeNBitUnsignedInteger(stream, 9, 261); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12433,14 +70271,14 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->SalesTariff_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariff) */ - errn = encodeNBitUnsignedInteger(stream, 8, 174); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff) */ + errn = encodeNBitUnsignedInteger(stream, 9, 262); if(errn == 0) { errn = encode_v2gSalesTariffType(stream, &exiFrag->SalesTariff ); } } else if ( exiFrag->SalesTariffDescription_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffDescription) */ - errn = encodeNBitUnsignedInteger(stream, 8, 175); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) */ + errn = encodeNBitUnsignedInteger(stream, 9, 263); if(errn == 0) { /* FirstStartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12455,14 +70293,14 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->SalesTariffEntry_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffEntry) */ - errn = encodeNBitUnsignedInteger(stream, 8, 176); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ + errn = encodeNBitUnsignedInteger(stream, 9, 264); if(errn == 0) { errn = encode_v2gSalesTariffEntryType(stream, &exiFrag->SalesTariffEntry ); } } else if ( exiFrag->SalesTariffID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SalesTariffID) */ - errn = encodeNBitUnsignedInteger(stream, 8, 177); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) */ + errn = encodeNBitUnsignedInteger(stream, 9, 265); if(errn == 0) { /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12474,7 +70312,7 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->Seed_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ - errn = encodeNBitUnsignedInteger(stream, 8, 178); + errn = encodeNBitUnsignedInteger(stream, 9, 266); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12487,9 +70325,15 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } + } else if ( exiFrag->SelectedEnergyTransferService_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService) */ + errn = encodeNBitUnsignedInteger(stream, 9, 267); + if(errn == 0) { + errn = encode_v2gSelectedServiceType(stream, &exiFrag->SelectedEnergyTransferService ); + } } else if ( exiFrag->SelectedPaymentOption_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedPaymentOption) */ - errn = encodeNBitUnsignedInteger(stream, 8, 179); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) */ + errn = encodeNBitUnsignedInteger(stream, 9, 268); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12500,126 +70344,134 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->SelectedService_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SelectedService) */ - errn = encodeNBitUnsignedInteger(stream, 8, 180); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService) */ + errn = encodeNBitUnsignedInteger(stream, 9, 269); if(errn == 0) { errn = encode_v2gSelectedServiceType(stream, &exiFrag->SelectedService ); } - } else if ( exiFrag->SelectedServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SelectedServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 181); + } else if ( exiFrag->SelectedVASList_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList) */ + errn = encodeNBitUnsignedInteger(stream, 9, 270); if(errn == 0) { - errn = encode_v2gSelectedServiceListType(stream, &exiFrag->SelectedServiceList ); + errn = encode_v2gSelectedServiceListType(stream, &exiFrag->SelectedVASList ); + } + } else if ( exiFrag->Sensor_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor) */ + errn = encodeNBitUnsignedInteger(stream, 9, 271); + if(errn == 0) { + errn = encode_v2gSensorType(stream, &exiFrag->Sensor ); + } + } else if ( exiFrag->SensorID_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorID */ + } else if ( exiFrag->SensorList_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorList */ + } else if ( exiFrag->SensorMeasurements_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements) */ + errn = encodeNBitUnsignedInteger(stream, 9, 274); + if(errn == 0) { + errn = encode_v2gSensorMeasurementsType(stream, &exiFrag->SensorMeasurements ); + } + } else if ( exiFrag->SensorOrder_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorOrder */ + } else if ( exiFrag->SensorOrientation_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation) */ + errn = encodeNBitUnsignedInteger(stream, 9, 276); + if(errn == 0) { + errn = encode_v2gCartesianCoordinatesType(stream, &exiFrag->SensorOrientation ); + } + } else if ( exiFrag->SensorPackage_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage) */ + errn = encodeNBitUnsignedInteger(stream, 9, 277); + if(errn == 0) { + errn = encode_v2gSensorPackageType(stream, &exiFrag->SensorPackage ); + } + } else if ( exiFrag->SensorPackageList_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorPackageList */ + } else if ( exiFrag->SensorPosition_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) */ + errn = encodeNBitUnsignedInteger(stream, 9, 279); + if(errn == 0) { + errn = encode_v2gCartesianCoordinatesType(stream, &exiFrag->SensorPosition ); } } else if ( exiFrag->Service_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Service) */ - errn = encodeNBitUnsignedInteger(stream, 8, 182); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service) */ + errn = encodeNBitUnsignedInteger(stream, 9, 280); if(errn == 0) { errn = encode_v2gServiceType(stream, &exiFrag->Service ); } - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ - } else if ( exiFrag->ServiceCategory_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ } else if ( exiFrag->ServiceDetailReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 185); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 281); if(errn == 0) { errn = encode_v2gServiceDetailReqType(stream, &exiFrag->ServiceDetailReq ); } } else if ( exiFrag->ServiceDetailRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 186); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 282); if(errn == 0) { errn = encode_v2gServiceDetailResType(stream, &exiFrag->ServiceDetailRes ); } } else if ( exiFrag->ServiceDiscoveryReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 187); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 283); if(errn == 0) { errn = encode_v2gServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq ); } } else if ( exiFrag->ServiceDiscoveryRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDiscoveryRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 188); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 284); if(errn == 0) { errn = encode_v2gServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes ); } } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ } else if ( exiFrag->ServiceID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ - } else if ( exiFrag->ServiceList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 191); - if(errn == 0) { - errn = encode_v2gServiceListType(stream, &exiFrag->ServiceList ); - } - } else if ( exiFrag->ServiceName_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 192); - if(errn == 0) { - /* FirstStartTag[CHARACTERS[STRING]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - /* encode string as string table miss (+2 len)*/ - errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->ServiceName.charactersLen + 2)); - if (errn == 0) { - errn = encodeCharacters(stream, exiFrag->ServiceName.characters, exiFrag->ServiceName.charactersLen); - } - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } - } } else if ( exiFrag->ServiceParameterList_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceParameterList) */ - errn = encodeNBitUnsignedInteger(stream, 8, 193); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList) */ + errn = encodeNBitUnsignedInteger(stream, 9, 287); if(errn == 0) { errn = encode_v2gServiceParameterListType(stream, &exiFrag->ServiceParameterList ); } - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ - } else if ( exiFrag->ServiceScope_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */ - errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ } else if ( exiFrag->SessionID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ } else if ( exiFrag->SessionSetupReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 198); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 290); if(errn == 0) { errn = encode_v2gSessionSetupReqType(stream, &exiFrag->SessionSetupReq ); } } else if ( exiFrag->SessionSetupRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 199); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 291); if(errn == 0) { errn = encode_v2gSessionSetupResType(stream, &exiFrag->SessionSetupRes ); } } else if ( exiFrag->SessionStopReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 200); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 292); if(errn == 0) { errn = encode_v2gSessionStopReqType(stream, &exiFrag->SessionStopReq ); } } else if ( exiFrag->SessionStopRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionStopRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 201); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 293); if(errn == 0) { - errn = encode_v2gSessionStopResType(stream, &exiFrag->SessionStopRes ); + errn = encode_v2gV2GResponseType(stream, &exiFrag->SessionStopRes ); } } else if ( exiFrag->SigMeterReading_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SigMeterReading) */ - errn = encodeNBitUnsignedInteger(stream, 8, 202); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) */ + errn = encodeNBitUnsignedInteger(stream, 9, 294); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12632,57 +70484,87 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } + } else if ( exiFrag->SignalFrequency_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency) */ + errn = encodeNBitUnsignedInteger(stream, 9, 295); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, exiFrag->SignalFrequency); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->SignalPulseDuration_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SignalPulseDuration */ + } else if ( exiFrag->SignalSeparationTime_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SignalSeparationTime */ } else if ( exiFrag->Signature_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ - errn = encodeNBitUnsignedInteger(stream, 8, 203); + errn = encodeNBitUnsignedInteger(stream, 9, 298); if(errn == 0) { errn = encode_v2gSignatureType(stream, &exiFrag->Signature ); } } else if ( exiFrag->SignatureMethod_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ - errn = encodeNBitUnsignedInteger(stream, 8, 204); + errn = encodeNBitUnsignedInteger(stream, 9, 299); if(errn == 0) { errn = encode_v2gSignatureMethodType(stream, &exiFrag->SignatureMethod ); } } else if ( exiFrag->SignatureProperties_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ - errn = encodeNBitUnsignedInteger(stream, 8, 205); + errn = encodeNBitUnsignedInteger(stream, 9, 300); if(errn == 0) { errn = encode_v2gSignaturePropertiesType(stream, &exiFrag->SignatureProperties ); } } else if ( exiFrag->SignatureProperty_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ - errn = encodeNBitUnsignedInteger(stream, 8, 206); + errn = encodeNBitUnsignedInteger(stream, 9, 301); if(errn == 0) { errn = encode_v2gSignaturePropertyType(stream, &exiFrag->SignatureProperty ); } } else if ( exiFrag->SignatureValue_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 207); + errn = encodeNBitUnsignedInteger(stream, 9, 302); if(errn == 0) { errn = encode_v2gSignatureValueType(stream, &exiFrag->SignatureValue ); } } else if ( exiFrag->SignedInfo_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ - errn = encodeNBitUnsignedInteger(stream, 8, 208); + errn = encodeNBitUnsignedInteger(stream, 9, 303); if(errn == 0) { errn = encode_v2gSignedInfoType(stream, &exiFrag->SignedInfo ); } } else if ( exiFrag->SubCertificates_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SubCertificates) */ - errn = encodeNBitUnsignedInteger(stream, 8, 209); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates) */ + errn = encodeNBitUnsignedInteger(stream, 9, 304); if(errn == 0) { errn = encode_v2gSubCertificatesType(stream, &exiFrag->SubCertificates ); } - } else if ( exiFrag->SupportedEnergyTransferMode_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SupportedEnergyTransferMode) */ - errn = encodeNBitUnsignedInteger(stream, 8, 210); + } else if ( exiFrag->SupportedServiceIDs_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs) */ + errn = encodeNBitUnsignedInteger(stream, 9, 305); if(errn == 0) { - errn = encode_v2gSupportedEnergyTransferModeType(stream, &exiFrag->SupportedEnergyTransferMode ); + errn = encode_v2gServiceIDListType(stream, &exiFrag->SupportedServiceIDs ); + } + } else if ( exiFrag->SystemStatusReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 306); + if(errn == 0) { + errn = encode_v2gSystemStatusReqType(stream, &exiFrag->SystemStatusReq ); + } + } else if ( exiFrag->SystemStatusRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 307); + if(errn == 0) { + errn = encode_v2gSystemStatusResType(stream, &exiFrag->SystemStatusRes ); } } else if ( exiFrag->TMeter_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TMeter) */ - errn = encodeNBitUnsignedInteger(stream, 8, 211); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 308); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12692,45 +70574,78 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->TimeInterval_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}TimeInterval) */ - errn = encodeNBitUnsignedInteger(stream, 8, 212); + } else if ( exiFrag->TargetOffset_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset) */ + errn = encodeNBitUnsignedInteger(stream, 9, 309); if(errn == 0) { - errn = encode_v2gIntervalType(stream, &exiFrag->TimeInterval ); + errn = encode_v2gTargetPositionType(stream, &exiFrag->TargetOffset ); } + } else if ( exiFrag->TargetOffsetX_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX) */ + errn = encodeNBitUnsignedInteger(stream, 9, 310); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, exiFrag->TargetOffsetX); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->TargetOffsetY_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY) */ + errn = encodeNBitUnsignedInteger(stream, 9, 311); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, exiFrag->TargetOffsetY); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->TargetSOC_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) */ + errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name TargetSOC */ } else if ( exiFrag->Transform_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ - errn = encodeNBitUnsignedInteger(stream, 8, 213); + errn = encodeNBitUnsignedInteger(stream, 9, 313); if(errn == 0) { errn = encode_v2gTransformType(stream, &exiFrag->Transform ); } } else if ( exiFrag->Transforms_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ - errn = encodeNBitUnsignedInteger(stream, 8, 214); + errn = encodeNBitUnsignedInteger(stream, 9, 314); if(errn == 0) { errn = encode_v2gTransformsType(stream, &exiFrag->Transforms ); } - } else if ( exiFrag->Unit_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Unit) */ - errn = encodeNBitUnsignedInteger(stream, 8, 215); + } else if ( exiFrag->V2GRequest_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ + errn = encodeNBitUnsignedInteger(stream, 9, 315); if(errn == 0) { - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, exiFrag->Unit); - /* valid EE */ - errn = encodeNBitUnsignedInteger(stream, 1, 0); - } + errn = encode_v2gBodyBaseType(stream, &exiFrag->V2GRequest ); + } + } else if ( exiFrag->V2GResponse_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ + errn = encodeNBitUnsignedInteger(stream, 9, 316); + if(errn == 0) { + errn = encode_v2gV2GResponseType(stream, &exiFrag->V2GResponse ); } } else if ( exiFrag->V2G_Message_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDef}V2G_Message) */ - errn = encodeNBitUnsignedInteger(stream, 8, 216); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ + errn = encodeNBitUnsignedInteger(stream, 9, 317); if(errn == 0) { errn = encode_v2gAnonType_V2G_Message(stream, &exiFrag->V2G_Message ); } + } else if ( exiFrag->VASList_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList) */ + errn = encodeNBitUnsignedInteger(stream, 9, 318); + if(errn == 0) { + errn = encode_v2gServiceListType(stream, &exiFrag->VASList ); + } } else if ( exiFrag->Value_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Value) */ - errn = encodeNBitUnsignedInteger(stream, 8, 217); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) */ + errn = encodeNBitUnsignedInteger(stream, 9, 319); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12740,21 +70655,69 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->WeldingDetectionReq_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionReq) */ - errn = encodeNBitUnsignedInteger(stream, 8, 218); + } else if ( exiFrag->VehicleCheckInReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 320); if(errn == 0) { - errn = encode_v2gWeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq ); + errn = encode_v2gVehicleCheckInReqType(stream, &exiFrag->VehicleCheckInReq ); + } + } else if ( exiFrag->VehicleCheckInRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 321); + if(errn == 0) { + errn = encode_v2gVehicleCheckInResType(stream, &exiFrag->VehicleCheckInRes ); + } + } else if ( exiFrag->VehicleCheckOutReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 322); + if(errn == 0) { + errn = encode_v2gVehicleCheckOutReqType(stream, &exiFrag->VehicleCheckOutReq ); + } + } else if ( exiFrag->VehicleCheckOutRes_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 323); + if(errn == 0) { + errn = encode_v2gVehicleCheckOutResType(stream, &exiFrag->VehicleCheckOutRes ); + } + } else if ( exiFrag->VehicleSpace_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) */ + errn = encodeNBitUnsignedInteger(stream, 9, 324); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeUnsignedInteger16(stream, exiFrag->VehicleSpace); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } + } else if ( exiFrag->WPT_EVChargeParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 325); + if(errn == 0) { + errn = encode_v2gWPT_EVChargeParameterType(stream, &exiFrag->WPT_EVChargeParameter ); + } + } else if ( exiFrag->WPT_EVSEChargeParameter_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ + errn = encodeNBitUnsignedInteger(stream, 9, 326); + if(errn == 0) { + errn = encode_v2gWPT_EVSEChargeParameterType(stream, &exiFrag->WPT_EVSEChargeParameter ); + } + } else if ( exiFrag->WeldingDetectionReq_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ + errn = encodeNBitUnsignedInteger(stream, 9, 327); + if(errn == 0) { + errn = encode_v2gBodyBaseType(stream, &exiFrag->WeldingDetectionReq ); } } else if ( exiFrag->WeldingDetectionRes_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}WeldingDetectionRes) */ - errn = encodeNBitUnsignedInteger(stream, 8, 219); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ + errn = encodeNBitUnsignedInteger(stream, 9, 328); if(errn == 0) { errn = encode_v2gWeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes ); } } else if ( exiFrag->X509CRL_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ - errn = encodeNBitUnsignedInteger(stream, 8, 220); + errn = encodeNBitUnsignedInteger(stream, 9, 329); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12769,7 +70732,7 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->X509Certificate_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ - errn = encodeNBitUnsignedInteger(stream, 8, 221); + errn = encodeNBitUnsignedInteger(stream, 9, 330); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12784,13 +70747,13 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->X509Data_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ - errn = encodeNBitUnsignedInteger(stream, 8, 222); + errn = encodeNBitUnsignedInteger(stream, 9, 331); if(errn == 0) { errn = encode_v2gX509DataType(stream, &exiFrag->X509Data ); } } else if ( exiFrag->X509IssuerName_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 223); + errn = encodeNBitUnsignedInteger(stream, 9, 332); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12806,13 +70769,13 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->X509IssuerSerial_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ - errn = encodeNBitUnsignedInteger(stream, 8, 224); + errn = encodeNBitUnsignedInteger(stream, 9, 333); if(errn == 0) { errn = encode_v2gX509IssuerSerialType(stream, &exiFrag->X509IssuerSerial ); } } else if ( exiFrag->X509SKI_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ - errn = encodeNBitUnsignedInteger(stream, 8, 225); + errn = encodeNBitUnsignedInteger(stream, 9, 334); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12827,7 +70790,7 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->X509SerialNumber_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ - errn = encodeNBitUnsignedInteger(stream, 8, 226); + errn = encodeNBitUnsignedInteger(stream, 9, 335); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12839,7 +70802,7 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->X509SubjectName_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ - errn = encodeNBitUnsignedInteger(stream, 8, 227); + errn = encodeNBitUnsignedInteger(stream, 9, 336); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12853,9 +70816,21 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } + } else if ( exiFrag->XCoordinate_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate) */ + errn = encodeNBitUnsignedInteger(stream, 9, 337); + if(errn == 0) { + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + if(errn == 0) { + errn = encodeInteger16(stream, exiFrag->XCoordinate); + /* valid EE */ + errn = encodeNBitUnsignedInteger(stream, 1, 0); + } + } } else if ( exiFrag->XPath_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ - errn = encodeNBitUnsignedInteger(stream, 8, 228); + errn = encodeNBitUnsignedInteger(stream, 9, 338); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12871,7 +70846,7 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } else if ( exiFrag->Y_isUsed == 1u ) { /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ - errn = encodeNBitUnsignedInteger(stream, 8, 229); + errn = encodeNBitUnsignedInteger(stream, 9, 339); if(errn == 0) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12884,33 +70859,39 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->amount_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amount) */ - errn = encodeNBitUnsignedInteger(stream, 8, 230); + } else if ( exiFrag->YCoordinate_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate) */ + errn = encodeNBitUnsignedInteger(stream, 9, 340); if(errn == 0) { - /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeUnsignedInteger32(stream, exiFrag->amount); + errn = encodeInteger16(stream, exiFrag->YCoordinate); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } - } else if ( exiFrag->amountMultiplier_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}amountMultiplier) */ - errn = encodeNBitUnsignedInteger(stream, 8, 231); + } else if ( exiFrag->ZCoordinate_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate) */ + errn = encodeNBitUnsignedInteger(stream, 9, 341); if(errn == 0) { - /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ + /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); if(errn == 0) { - errn = encodeNBitUnsignedInteger(stream, 3, (uint32_t)(exiFrag->amountMultiplier + 3)); + errn = encodeInteger16(stream, exiFrag->ZCoordinate); /* valid EE */ errn = encodeNBitUnsignedInteger(stream, 1, 0); } } + } else if ( exiFrag->amount_isUsed == 1u ) { + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount) */ + errn = encodeNBitUnsignedInteger(stream, 9, 342); + if(errn == 0) { + errn = encode_v2gPhysicalValueType(stream, &exiFrag->amount ); + } } else if ( exiFrag->boolValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}boolValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 232); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) */ + errn = encodeNBitUnsignedInteger(stream, 9, 343); if(errn == 0) { /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12921,8 +70902,8 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->byteValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}byteValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 233); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue) */ + errn = encodeNBitUnsignedInteger(stream, 9, 344); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12933,8 +70914,8 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->costKind_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}costKind) */ - errn = encodeNBitUnsignedInteger(stream, 8, 234); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) */ + errn = encodeNBitUnsignedInteger(stream, 9, 345); if(errn == 0) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12945,8 +70926,8 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->duration_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}duration) */ - errn = encodeNBitUnsignedInteger(stream, 8, 235); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) */ + errn = encodeNBitUnsignedInteger(stream, 9, 346); if(errn == 0) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12957,11 +70938,11 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->eMAID_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ + /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name eMAID */ } else if ( exiFrag->intValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 237); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) */ + errn = encodeNBitUnsignedInteger(stream, 9, 348); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12972,14 +70953,14 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->physicalValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}physicalValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 238); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue) */ + errn = encodeNBitUnsignedInteger(stream, 9, 349); if(errn == 0) { errn = encode_v2gPhysicalValueType(stream, &exiFrag->physicalValue ); } } else if ( exiFrag->shortValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}shortValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 239); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) */ + errn = encodeNBitUnsignedInteger(stream, 9, 350); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -12990,8 +70971,8 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->start_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}start) */ - errn = encodeNBitUnsignedInteger(stream, 8, 240); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) */ + errn = encodeNBitUnsignedInteger(stream, 9, 351); if(errn == 0) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -13002,14 +70983,14 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } } } else if ( exiFrag->startValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}startValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 241); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue) */ + errn = encodeNBitUnsignedInteger(stream, 9, 352); if(errn == 0) { errn = encode_v2gPhysicalValueType(stream, &exiFrag->startValue ); } } else if ( exiFrag->stringValue_isUsed == 1u ) { - /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}stringValue) */ - errn = encodeNBitUnsignedInteger(stream, 8, 242); + /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue) */ + errn = encodeNBitUnsignedInteger(stream, 9, 353); if(errn == 0) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = encodeNBitUnsignedInteger(stream, 1, 0); @@ -13026,22 +71007,26 @@ int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag) { } else { errn = EXI_ERROR_UNKOWN_EVENT; } - - } - + } if(errn == 0) { /* EndDocument */ - errn = encodeNBitUnsignedInteger(stream, 8, 244); + errn = encodeNBitUnsignedInteger(stream, 9, 355); } + if(errn == 0) { /* flush any pending bits */ errn = encodeFinish(stream); - } + } + + /* touch to avoid unused warnings*/ + (void)encode_v2gChargeLoopReqType; + (void)encode_v2gV2GRequestType; + (void)encode_v2gEntryType; return errn; -} -#endif /* DEPLOY_ISO_CODEC_FRAGMENT */ +} +#endif /* DEPLOY_ISO_CODEC_FRAGMENT */ #endif /* DEPLOY_ISO_CODEC */ diff --git a/src/codec/v2gEXIDatatypesEncoder.h b/src/codec/v2gEXIDatatypesEncoder.h index d7edb07..4961696 100644 --- a/src/codec/v2gEXIDatatypesEncoder.h +++ b/src/codec/v2gEXIDatatypesEncoder.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 2017-03-02 * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -51,10 +51,10 @@ extern "C" { int encode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc); - + #if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES -int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag); -#endif /* DEPLOY_ISO_CODEC_FRAGMENT */ +int encode_v2gExiFragment(bitstream_t* stream, struct v2gEXIFragment* exiFrag); +#endif /* DEPLOY_ISO_CODEC_FRAGMENT */ #endif /* DEPLOY_ISO_CODEC */ diff --git a/src/din/dinEXIDatatypesDecoder.c b/src/din/dinEXIDatatypesDecoder.c index 4cca175..cb1d9ae 100644 --- a/src/din/dinEXIDatatypesDecoder.c +++ b/src/din/dinEXIDatatypesDecoder.c @@ -470,13 +470,10 @@ static int decode_dinCanonicalizationMethodType(bitstream_t* stream, struct dinC switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinCanonicalizationMethodType->Algorithm.charactersLen); - if (errn == 0) { - errn = (dinCanonicalizationMethodType->Algorithm.charactersLen - 2) <= dinCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinCanonicalizationMethodType->Algorithm.charactersLen >= 2) { dinCanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(dinCanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCanonicalizationMethodType->Algorithm.charactersLen, dinCanonicalizationMethodType->Algorithm.characters); + errn = decodeCharacters(stream, dinCanonicalizationMethodType->Algorithm.charactersLen, dinCanonicalizationMethodType->Algorithm.characters, dinCanonicalizationMethodType_Algorithm_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -1519,13 +1516,10 @@ static int decode_dinManifestType(bitstream_t* stream, struct dinManifestType* d switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinManifestType->Id.charactersLen); - if (errn == 0) { - errn = (dinManifestType->Id.charactersLen - 2) <= dinManifestType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinManifestType->Id.charactersLen >= 2) { dinManifestType->Id.charactersLen = (uint16_t)(dinManifestType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinManifestType->Id.charactersLen, dinManifestType->Id.characters); + errn = decodeCharacters(stream, dinManifestType->Id.charactersLen, dinManifestType->Id.characters, dinManifestType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -1965,13 +1959,10 @@ static int decode_dinDigestMethodType(bitstream_t* stream, struct dinDigestMetho switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinDigestMethodType->Algorithm.charactersLen); - if (errn == 0) { - errn = (dinDigestMethodType->Algorithm.charactersLen - 2) <= dinDigestMethodType_Algorithm_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinDigestMethodType->Algorithm.charactersLen >= 2) { dinDigestMethodType->Algorithm.charactersLen = (uint16_t)(dinDigestMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinDigestMethodType->Algorithm.charactersLen, dinDigestMethodType->Algorithm.characters); + errn = decodeCharacters(stream, dinDigestMethodType->Algorithm.charactersLen, dinDigestMethodType->Algorithm.characters, dinDigestMethodType_Algorithm_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -2058,13 +2049,10 @@ static int decode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffT switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinSalesTariffType->Id.charactersLen); - if (errn == 0) { - errn = (dinSalesTariffType->Id.charactersLen - 2) <= dinSalesTariffType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSalesTariffType->Id.charactersLen >= 2) { dinSalesTariffType->Id.charactersLen = (uint16_t)(dinSalesTariffType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSalesTariffType->Id.charactersLen, dinSalesTariffType->Id.characters); + errn = decodeCharacters(stream, dinSalesTariffType->Id.charactersLen, dinSalesTariffType->Id.characters, dinSalesTariffType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -2121,13 +2109,10 @@ static int decode_dinSalesTariffType(bitstream_t* stream, struct dinSalesTariffT if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinSalesTariffType->SalesTariffDescription.charactersLen); - if (errn == 0) { - errn = (dinSalesTariffType->SalesTariffDescription.charactersLen - 2) <= dinSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSalesTariffType->SalesTariffDescription.charactersLen >= 2) { dinSalesTariffType->SalesTariffDescription.charactersLen = (uint16_t)(dinSalesTariffType->SalesTariffDescription.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSalesTariffType->SalesTariffDescription.charactersLen, dinSalesTariffType->SalesTariffDescription.characters); + errn = decodeCharacters(stream, dinSalesTariffType->SalesTariffDescription.charactersLen, dinSalesTariffType->SalesTariffDescription.characters, dinSalesTariffType_SalesTariffDescription_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -2582,13 +2567,10 @@ static int decode_dinSignaturePropertiesType(bitstream_t* stream, struct dinSign switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinSignaturePropertiesType->Id.charactersLen); - if (errn == 0) { - errn = (dinSignaturePropertiesType->Id.charactersLen - 2) <= dinSignaturePropertiesType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSignaturePropertiesType->Id.charactersLen >= 2) { dinSignaturePropertiesType->Id.charactersLen = (uint16_t)(dinSignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertiesType->Id.charactersLen, dinSignaturePropertiesType->Id.characters); + errn = decodeCharacters(stream, dinSignaturePropertiesType->Id.charactersLen, dinSignaturePropertiesType->Id.characters, dinSignaturePropertiesType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -3016,13 +2998,10 @@ static int decode_dinNotificationType(bitstream_t* stream, struct dinNotificatio if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinNotificationType->FaultMsg.charactersLen); - if (errn == 0) { - errn = (dinNotificationType->FaultMsg.charactersLen - 2) <= dinNotificationType_FaultMsg_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinNotificationType->FaultMsg.charactersLen >= 2) { dinNotificationType->FaultMsg.charactersLen = (uint16_t)(dinNotificationType->FaultMsg.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinNotificationType->FaultMsg.charactersLen, dinNotificationType->FaultMsg.characters); + errn = decodeCharacters(stream, dinNotificationType->FaultMsg.charactersLen, dinNotificationType->FaultMsg.characters, dinNotificationType_FaultMsg_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -3096,13 +3075,10 @@ static int decode_dinContractAuthenticationReqType(bitstream_t* stream, struct d switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinContractAuthenticationReqType->Id.charactersLen); - if (errn == 0) { - errn = (dinContractAuthenticationReqType->Id.charactersLen - 2) <= dinContractAuthenticationReqType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinContractAuthenticationReqType->Id.charactersLen >= 2) { dinContractAuthenticationReqType->Id.charactersLen = (uint16_t)(dinContractAuthenticationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinContractAuthenticationReqType->Id.charactersLen, dinContractAuthenticationReqType->Id.characters); + errn = decodeCharacters(stream, dinContractAuthenticationReqType->Id.charactersLen, dinContractAuthenticationReqType->Id.characters, dinContractAuthenticationReqType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -3117,13 +3093,10 @@ static int decode_dinContractAuthenticationReqType(bitstream_t* stream, struct d if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinContractAuthenticationReqType->GenChallenge.charactersLen); - if (errn == 0) { - errn = (dinContractAuthenticationReqType->GenChallenge.charactersLen - 2) <= dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinContractAuthenticationReqType->GenChallenge.charactersLen >= 2) { dinContractAuthenticationReqType->GenChallenge.charactersLen = (uint16_t)(dinContractAuthenticationReqType->GenChallenge.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinContractAuthenticationReqType->GenChallenge.charactersLen, dinContractAuthenticationReqType->GenChallenge.characters); + errn = decodeCharacters(stream, dinContractAuthenticationReqType->GenChallenge.charactersLen, dinContractAuthenticationReqType->GenChallenge.characters, dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -3166,13 +3139,10 @@ static int decode_dinContractAuthenticationReqType(bitstream_t* stream, struct d if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinContractAuthenticationReqType->GenChallenge.charactersLen); - if (errn == 0) { - errn = (dinContractAuthenticationReqType->GenChallenge.charactersLen - 2) <= dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinContractAuthenticationReqType->GenChallenge.charactersLen >= 2) { dinContractAuthenticationReqType->GenChallenge.charactersLen = (uint16_t)(dinContractAuthenticationReqType->GenChallenge.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinContractAuthenticationReqType->GenChallenge.charactersLen, dinContractAuthenticationReqType->GenChallenge.characters); + errn = decodeCharacters(stream, dinContractAuthenticationReqType->GenChallenge.charactersLen, dinContractAuthenticationReqType->GenChallenge.characters, dinContractAuthenticationReqType_GenChallenge_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -4166,13 +4136,10 @@ static int decode_dinSignatureType(bitstream_t* stream, struct dinSignatureType* switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinSignatureType->Id.charactersLen); - if (errn == 0) { - errn = (dinSignatureType->Id.charactersLen - 2) <= dinSignatureType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSignatureType->Id.charactersLen >= 2) { dinSignatureType->Id.charactersLen = (uint16_t)(dinSignatureType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignatureType->Id.charactersLen, dinSignatureType->Id.characters); + errn = decodeCharacters(stream, dinSignatureType->Id.charactersLen, dinSignatureType->Id.characters, dinSignatureType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -4399,13 +4366,10 @@ static int decode_dinParameterType(bitstream_t* stream, struct dinParameterType* switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinParameterType->Name.charactersLen); - if (errn == 0) { - errn = (dinParameterType->Name.charactersLen - 2) <= dinParameterType_Name_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinParameterType->Name.charactersLen >= 2) { dinParameterType->Name.charactersLen = (uint16_t)(dinParameterType->Name.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinParameterType->Name.charactersLen, dinParameterType->Name.characters); + errn = decodeCharacters(stream, dinParameterType->Name.charactersLen, dinParameterType->Name.characters, dinParameterType_Name_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -4540,13 +4504,10 @@ static int decode_dinParameterType(bitstream_t* stream, struct dinParameterType* if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinParameterType->stringValue.charactersLen); - if (errn == 0) { - errn = (dinParameterType->stringValue.charactersLen - 2) <= dinParameterType_stringValue_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinParameterType->stringValue.charactersLen >= 2) { dinParameterType->stringValue.charactersLen = (uint16_t)(dinParameterType->stringValue.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinParameterType->stringValue.charactersLen, dinParameterType->stringValue.characters); + errn = decodeCharacters(stream, dinParameterType->stringValue.charactersLen, dinParameterType->stringValue.characters, dinParameterType_stringValue_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -4616,13 +4577,10 @@ static int decode_dinSignaturePropertyType(bitstream_t* stream, struct dinSignat switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->Id.charactersLen); - if (errn == 0) { - errn = (dinSignaturePropertyType->Id.charactersLen - 2) <= dinSignaturePropertyType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSignaturePropertyType->Id.charactersLen >= 2) { dinSignaturePropertyType->Id.charactersLen = (uint16_t)(dinSignaturePropertyType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertyType->Id.charactersLen, dinSignaturePropertyType->Id.characters); + errn = decodeCharacters(stream, dinSignaturePropertyType->Id.charactersLen, dinSignaturePropertyType->Id.characters, dinSignaturePropertyType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -4633,13 +4591,10 @@ static int decode_dinSignaturePropertyType(bitstream_t* stream, struct dinSignat break; case 1: errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->Target.charactersLen); - if (errn == 0) { - errn = (dinSignaturePropertyType->Target.charactersLen - 2) <= dinSignaturePropertyType_Target_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSignaturePropertyType->Target.charactersLen >= 2) { dinSignaturePropertyType->Target.charactersLen = (uint16_t)(dinSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertyType->Target.charactersLen, dinSignaturePropertyType->Target.characters); + errn = decodeCharacters(stream, dinSignaturePropertyType->Target.charactersLen, dinSignaturePropertyType->Target.characters, dinSignaturePropertyType_Target_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -4660,13 +4615,10 @@ static int decode_dinSignaturePropertyType(bitstream_t* stream, struct dinSignat switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinSignaturePropertyType->Target.charactersLen); - if (errn == 0) { - errn = (dinSignaturePropertyType->Target.charactersLen - 2) <= dinSignaturePropertyType_Target_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSignaturePropertyType->Target.charactersLen >= 2) { dinSignaturePropertyType->Target.charactersLen = (uint16_t)(dinSignaturePropertyType->Target.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignaturePropertyType->Target.charactersLen, dinSignaturePropertyType->Target.characters); + errn = decodeCharacters(stream, dinSignaturePropertyType->Target.charactersLen, dinSignaturePropertyType->Target.characters, dinSignaturePropertyType_Target_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -5808,13 +5760,10 @@ static int decode_dinCertificateInstallationReqType(bitstream_t* stream, struct switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinCertificateInstallationReqType->Id.charactersLen); - if (errn == 0) { - errn = (dinCertificateInstallationReqType->Id.charactersLen - 2) <= dinCertificateInstallationReqType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinCertificateInstallationReqType->Id.charactersLen >= 2) { dinCertificateInstallationReqType->Id.charactersLen = (uint16_t)(dinCertificateInstallationReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCertificateInstallationReqType->Id.charactersLen, dinCertificateInstallationReqType->Id.characters); + errn = decodeCharacters(stream, dinCertificateInstallationReqType->Id.charactersLen, dinCertificateInstallationReqType->Id.characters, dinCertificateInstallationReqType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -5989,13 +5938,10 @@ static int decode_dinTransformType(bitstream_t* stream, struct dinTransformType* switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinTransformType->Algorithm.charactersLen); - if (errn == 0) { - errn = (dinTransformType->Algorithm.charactersLen - 2) <= dinTransformType_Algorithm_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinTransformType->Algorithm.charactersLen >= 2) { dinTransformType->Algorithm.charactersLen = (uint16_t)(dinTransformType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinTransformType->Algorithm.charactersLen, dinTransformType->Algorithm.characters); + errn = decodeCharacters(stream, dinTransformType->Algorithm.charactersLen, dinTransformType->Algorithm.characters, dinTransformType_Algorithm_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6021,13 +5967,10 @@ static int decode_dinTransformType(bitstream_t* stream, struct dinTransformType* if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen - 2) <= dinTransformType_XPath_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen >= 2) { dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen = (uint16_t)(dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen, dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].characters); + errn = decodeCharacters(stream, dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen, dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].characters, dinTransformType_XPath_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6082,13 +6025,10 @@ static int decode_dinTransformType(bitstream_t* stream, struct dinTransformType* if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen - 2) <= dinTransformType_XPath_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen >= 2) { dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen = (uint16_t)(dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen, dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].characters); + errn = decodeCharacters(stream, dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].charactersLen, dinTransformType->XPath.array[dinTransformType->XPath.arrayLen].characters, dinTransformType_XPath_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6254,13 +6194,10 @@ static int decode_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrieva switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinRetrievalMethodType->Type.charactersLen); - if (errn == 0) { - errn = (dinRetrievalMethodType->Type.charactersLen - 2) <= dinRetrievalMethodType_Type_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinRetrievalMethodType->Type.charactersLen >= 2) { dinRetrievalMethodType->Type.charactersLen = (uint16_t)(dinRetrievalMethodType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinRetrievalMethodType->Type.charactersLen, dinRetrievalMethodType->Type.characters); + errn = decodeCharacters(stream, dinRetrievalMethodType->Type.charactersLen, dinRetrievalMethodType->Type.characters, dinRetrievalMethodType_Type_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6271,13 +6208,10 @@ static int decode_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrieva break; case 1: errn = decodeUnsignedInteger16(stream, &dinRetrievalMethodType->URI.charactersLen); - if (errn == 0) { - errn = (dinRetrievalMethodType->URI.charactersLen - 2) <= dinRetrievalMethodType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinRetrievalMethodType->URI.charactersLen >= 2) { dinRetrievalMethodType->URI.charactersLen = (uint16_t)(dinRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinRetrievalMethodType->URI.charactersLen, dinRetrievalMethodType->URI.characters); + errn = decodeCharacters(stream, dinRetrievalMethodType->URI.charactersLen, dinRetrievalMethodType->URI.characters, dinRetrievalMethodType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6308,13 +6242,10 @@ static int decode_dinRetrievalMethodType(bitstream_t* stream, struct dinRetrieva switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinRetrievalMethodType->URI.charactersLen); - if (errn == 0) { - errn = (dinRetrievalMethodType->URI.charactersLen - 2) <= dinRetrievalMethodType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinRetrievalMethodType->URI.charactersLen >= 2) { dinRetrievalMethodType->URI.charactersLen = (uint16_t)(dinRetrievalMethodType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinRetrievalMethodType->URI.charactersLen, dinRetrievalMethodType->URI.characters); + errn = decodeCharacters(stream, dinRetrievalMethodType->URI.charactersLen, dinRetrievalMethodType->URI.characters, dinRetrievalMethodType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6644,13 +6575,10 @@ static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinReferenceType->Id.charactersLen); - if (errn == 0) { - errn = (dinReferenceType->Id.charactersLen - 2) <= dinReferenceType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinReferenceType->Id.charactersLen >= 2) { dinReferenceType->Id.charactersLen = (uint16_t)(dinReferenceType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinReferenceType->Id.charactersLen, dinReferenceType->Id.characters); + errn = decodeCharacters(stream, dinReferenceType->Id.charactersLen, dinReferenceType->Id.characters, dinReferenceType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6661,13 +6589,10 @@ static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* break; case 1: errn = decodeUnsignedInteger16(stream, &dinReferenceType->Type.charactersLen); - if (errn == 0) { - errn = (dinReferenceType->Type.charactersLen - 2) <= dinReferenceType_Type_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinReferenceType->Type.charactersLen >= 2) { dinReferenceType->Type.charactersLen = (uint16_t)(dinReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinReferenceType->Type.charactersLen, dinReferenceType->Type.characters); + errn = decodeCharacters(stream, dinReferenceType->Type.charactersLen, dinReferenceType->Type.characters, dinReferenceType_Type_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6678,13 +6603,10 @@ static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* break; case 2: errn = decodeUnsignedInteger16(stream, &dinReferenceType->URI.charactersLen); - if (errn == 0) { - errn = (dinReferenceType->URI.charactersLen - 2) <= dinReferenceType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinReferenceType->URI.charactersLen >= 2) { dinReferenceType->URI.charactersLen = (uint16_t)(dinReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinReferenceType->URI.charactersLen, dinReferenceType->URI.characters); + errn = decodeCharacters(stream, dinReferenceType->URI.charactersLen, dinReferenceType->URI.characters, dinReferenceType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6715,13 +6637,10 @@ static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinReferenceType->Type.charactersLen); - if (errn == 0) { - errn = (dinReferenceType->Type.charactersLen - 2) <= dinReferenceType_Type_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinReferenceType->Type.charactersLen >= 2) { dinReferenceType->Type.charactersLen = (uint16_t)(dinReferenceType->Type.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinReferenceType->Type.charactersLen, dinReferenceType->Type.characters); + errn = decodeCharacters(stream, dinReferenceType->Type.charactersLen, dinReferenceType->Type.characters, dinReferenceType_Type_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6732,13 +6651,10 @@ static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* break; case 1: errn = decodeUnsignedInteger16(stream, &dinReferenceType->URI.charactersLen); - if (errn == 0) { - errn = (dinReferenceType->URI.charactersLen - 2) <= dinReferenceType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinReferenceType->URI.charactersLen >= 2) { dinReferenceType->URI.charactersLen = (uint16_t)(dinReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinReferenceType->URI.charactersLen, dinReferenceType->URI.characters); + errn = decodeCharacters(stream, dinReferenceType->URI.charactersLen, dinReferenceType->URI.characters, dinReferenceType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6769,13 +6685,10 @@ static int decode_dinReferenceType(bitstream_t* stream, struct dinReferenceType* switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinReferenceType->URI.charactersLen); - if (errn == 0) { - errn = (dinReferenceType->URI.charactersLen - 2) <= dinReferenceType_URI_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinReferenceType->URI.charactersLen >= 2) { dinReferenceType->URI.charactersLen = (uint16_t)(dinReferenceType->URI.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinReferenceType->URI.charactersLen, dinReferenceType->URI.characters); + errn = decodeCharacters(stream, dinReferenceType->URI.charactersLen, dinReferenceType->URI.characters, dinReferenceType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6982,13 +6895,10 @@ static int decode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinOb switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinObjectType->Encoding.charactersLen); - if (errn == 0) { - errn = (dinObjectType->Encoding.charactersLen - 2) <= dinObjectType_Encoding_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinObjectType->Encoding.charactersLen >= 2) { dinObjectType->Encoding.charactersLen = (uint16_t)(dinObjectType->Encoding.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->Encoding.charactersLen, dinObjectType->Encoding.characters); + errn = decodeCharacters(stream, dinObjectType->Encoding.charactersLen, dinObjectType->Encoding.characters, dinObjectType_Encoding_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -6999,13 +6909,10 @@ static int decode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinOb break; case 1: errn = decodeUnsignedInteger16(stream, &dinObjectType->Id.charactersLen); - if (errn == 0) { - errn = (dinObjectType->Id.charactersLen - 2) <= dinObjectType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinObjectType->Id.charactersLen >= 2) { dinObjectType->Id.charactersLen = (uint16_t)(dinObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->Id.charactersLen, dinObjectType->Id.characters); + errn = decodeCharacters(stream, dinObjectType->Id.charactersLen, dinObjectType->Id.characters, dinObjectType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -7016,13 +6923,10 @@ static int decode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinOb break; case 2: errn = decodeUnsignedInteger16(stream, &dinObjectType->MimeType.charactersLen); - if (errn == 0) { - errn = (dinObjectType->MimeType.charactersLen - 2) <= dinObjectType_MimeType_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinObjectType->MimeType.charactersLen >= 2) { dinObjectType->MimeType.charactersLen = (uint16_t)(dinObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->MimeType.charactersLen, dinObjectType->MimeType.characters); + errn = decodeCharacters(stream, dinObjectType->MimeType.charactersLen, dinObjectType->MimeType.characters, dinObjectType_MimeType_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -7056,13 +6960,10 @@ static int decode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinOb switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinObjectType->Id.charactersLen); - if (errn == 0) { - errn = (dinObjectType->Id.charactersLen - 2) <= dinObjectType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinObjectType->Id.charactersLen >= 2) { dinObjectType->Id.charactersLen = (uint16_t)(dinObjectType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->Id.charactersLen, dinObjectType->Id.characters); + errn = decodeCharacters(stream, dinObjectType->Id.charactersLen, dinObjectType->Id.characters, dinObjectType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -7073,13 +6974,10 @@ static int decode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinOb break; case 1: errn = decodeUnsignedInteger16(stream, &dinObjectType->MimeType.charactersLen); - if (errn == 0) { - errn = (dinObjectType->MimeType.charactersLen - 2) <= dinObjectType_MimeType_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinObjectType->MimeType.charactersLen >= 2) { dinObjectType->MimeType.charactersLen = (uint16_t)(dinObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->MimeType.charactersLen, dinObjectType->MimeType.characters); + errn = decodeCharacters(stream, dinObjectType->MimeType.charactersLen, dinObjectType->MimeType.characters, dinObjectType_MimeType_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -7113,13 +7011,10 @@ static int decode_dinObjectType(bitstream_t* stream, struct dinObjectType* dinOb switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinObjectType->MimeType.charactersLen); - if (errn == 0) { - errn = (dinObjectType->MimeType.charactersLen - 2) <= dinObjectType_MimeType_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinObjectType->MimeType.charactersLen >= 2) { dinObjectType->MimeType.charactersLen = (uint16_t)(dinObjectType->MimeType.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinObjectType->MimeType.charactersLen, dinObjectType->MimeType.characters); + errn = decodeCharacters(stream, dinObjectType->MimeType.charactersLen, dinObjectType->MimeType.characters, dinObjectType_MimeType_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -7219,13 +7114,10 @@ static int decode_dinSignatureValueType(bitstream_t* stream, struct dinSignature switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinSignatureValueType->Id.charactersLen); - if (errn == 0) { - errn = (dinSignatureValueType->Id.charactersLen - 2) <= dinSignatureValueType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSignatureValueType->Id.charactersLen >= 2) { dinSignatureValueType->Id.charactersLen = (uint16_t)(dinSignatureValueType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignatureValueType->Id.charactersLen, dinSignatureValueType->Id.characters); + errn = decodeCharacters(stream, dinSignatureValueType->Id.charactersLen, dinSignatureValueType->Id.characters, dinSignatureValueType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -7658,13 +7550,10 @@ static int decode_dinMeteringReceiptReqType(bitstream_t* stream, struct dinMeter switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinMeteringReceiptReqType->Id.charactersLen); - if (errn == 0) { - errn = (dinMeteringReceiptReqType->Id.charactersLen - 2) <= dinMeteringReceiptReqType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinMeteringReceiptReqType->Id.charactersLen >= 2) { dinMeteringReceiptReqType->Id.charactersLen = (uint16_t)(dinMeteringReceiptReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinMeteringReceiptReqType->Id.charactersLen, dinMeteringReceiptReqType->Id.characters); + errn = decodeCharacters(stream, dinMeteringReceiptReqType->Id.charactersLen, dinMeteringReceiptReqType->Id.characters, dinMeteringReceiptReqType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -8541,13 +8430,10 @@ static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* din switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->Id.charactersLen); - if (errn == 0) { - errn = (dinKeyInfoType->Id.charactersLen - 2) <= dinKeyInfoType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinKeyInfoType->Id.charactersLen >= 2) { dinKeyInfoType->Id.charactersLen = (uint16_t)(dinKeyInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->Id.charactersLen, dinKeyInfoType->Id.characters); + errn = decodeCharacters(stream, dinKeyInfoType->Id.charactersLen, dinKeyInfoType->Id.characters, dinKeyInfoType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -8563,13 +8449,10 @@ static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* din if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen - 2) <= dinKeyInfoType_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].characters); + errn = decodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].characters, dinKeyInfoType_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -8641,13 +8524,10 @@ static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* din if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen - 2) <= dinKeyInfoType_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].characters); + errn = decodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].characters, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -8698,13 +8578,10 @@ static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* din if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen - 2) <= dinKeyInfoType_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].characters); + errn = decodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].characters, dinKeyInfoType_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -8776,13 +8653,10 @@ static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* din if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen - 2) <= dinKeyInfoType_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].characters); + errn = decodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].characters, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -8833,13 +8707,10 @@ static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* din if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen - 2) <= dinKeyInfoType_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].characters); + errn = decodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].characters, dinKeyInfoType_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -8911,13 +8782,10 @@ static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* din if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen - 2) <= dinKeyInfoType_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].characters); + errn = decodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].characters, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -8972,13 +8840,10 @@ static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* din if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen - 2) <= dinKeyInfoType_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen >= 2) { dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].characters); + errn = decodeCharacters(stream, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].charactersLen, dinKeyInfoType->KeyName.array[dinKeyInfoType->KeyName.arrayLen].characters, dinKeyInfoType_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -9050,13 +8915,10 @@ static int decode_dinKeyInfoType(bitstream_t* stream, struct dinKeyInfoType* din if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen - 2) <= dinKeyInfoType_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].characters); + errn = decodeCharacters(stream, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].charactersLen, dinKeyInfoType->MgmtData.array[dinKeyInfoType->MgmtData.arrayLen].characters, dinKeyInfoType_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -9378,13 +9240,10 @@ static int decode_dinPaymentDetailsResType(bitstream_t* stream, struct dinPaymen if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinPaymentDetailsResType->GenChallenge.charactersLen); - if (errn == 0) { - errn = (dinPaymentDetailsResType->GenChallenge.charactersLen - 2) <= dinPaymentDetailsResType_GenChallenge_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinPaymentDetailsResType->GenChallenge.charactersLen >= 2) { dinPaymentDetailsResType->GenChallenge.charactersLen = (uint16_t)(dinPaymentDetailsResType->GenChallenge.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinPaymentDetailsResType->GenChallenge.charactersLen, dinPaymentDetailsResType->GenChallenge.characters); + errn = decodeCharacters(stream, dinPaymentDetailsResType->GenChallenge.charactersLen, dinPaymentDetailsResType->GenChallenge.characters, dinPaymentDetailsResType_GenChallenge_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -9524,13 +9383,10 @@ static int decode_dinPaymentDetailsReqType(bitstream_t* stream, struct dinPaymen if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinPaymentDetailsReqType->ContractID.charactersLen); - if (errn == 0) { - errn = (dinPaymentDetailsReqType->ContractID.charactersLen - 2) <= dinPaymentDetailsReqType_ContractID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinPaymentDetailsReqType->ContractID.charactersLen >= 2) { dinPaymentDetailsReqType->ContractID.charactersLen = (uint16_t)(dinPaymentDetailsReqType->ContractID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinPaymentDetailsReqType->ContractID.charactersLen, dinPaymentDetailsReqType->ContractID.characters); + errn = decodeCharacters(stream, dinPaymentDetailsReqType->ContractID.charactersLen, dinPaymentDetailsReqType->ContractID.characters, dinPaymentDetailsReqType_ContractID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -9650,13 +9506,10 @@ static int decode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagTyp if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinServiceTagType->ServiceName.charactersLen); - if (errn == 0) { - errn = (dinServiceTagType->ServiceName.charactersLen - 2) <= dinServiceTagType_ServiceName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinServiceTagType->ServiceName.charactersLen >= 2) { dinServiceTagType->ServiceName.charactersLen = (uint16_t)(dinServiceTagType->ServiceName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinServiceTagType->ServiceName.charactersLen, dinServiceTagType->ServiceName.characters); + errn = decodeCharacters(stream, dinServiceTagType->ServiceName.charactersLen, dinServiceTagType->ServiceName.characters, dinServiceTagType_ServiceName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -9750,13 +9603,10 @@ static int decode_dinServiceTagType(bitstream_t* stream, struct dinServiceTagTyp if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinServiceTagType->ServiceScope.charactersLen); - if (errn == 0) { - errn = (dinServiceTagType->ServiceScope.charactersLen - 2) <= dinServiceTagType_ServiceScope_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinServiceTagType->ServiceScope.charactersLen >= 2) { dinServiceTagType->ServiceScope.charactersLen = (uint16_t)(dinServiceTagType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinServiceTagType->ServiceScope.charactersLen, dinServiceTagType->ServiceScope.characters); + errn = decodeCharacters(stream, dinServiceTagType->ServiceScope.charactersLen, dinServiceTagType->ServiceScope.characters, dinServiceTagType_ServiceScope_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -10025,13 +9875,10 @@ static int decode_dinServiceDiscoveryReqType(bitstream_t* stream, struct dinServ if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinServiceDiscoveryReqType->ServiceScope.charactersLen); - if (errn == 0) { - errn = (dinServiceDiscoveryReqType->ServiceScope.charactersLen - 2) <= dinServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinServiceDiscoveryReqType->ServiceScope.charactersLen >= 2) { dinServiceDiscoveryReqType->ServiceScope.charactersLen = (uint16_t)(dinServiceDiscoveryReqType->ServiceScope.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinServiceDiscoveryReqType->ServiceScope.charactersLen, dinServiceDiscoveryReqType->ServiceScope.characters); + errn = decodeCharacters(stream, dinServiceDiscoveryReqType->ServiceScope.charactersLen, dinServiceDiscoveryReqType->ServiceScope.characters, dinServiceDiscoveryReqType_ServiceScope_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -10264,13 +10111,10 @@ static int decode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCer switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinCertificateUpdateReqType->Id.charactersLen); - if (errn == 0) { - errn = (dinCertificateUpdateReqType->Id.charactersLen - 2) <= dinCertificateUpdateReqType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinCertificateUpdateReqType->Id.charactersLen >= 2) { dinCertificateUpdateReqType->Id.charactersLen = (uint16_t)(dinCertificateUpdateReqType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCertificateUpdateReqType->Id.charactersLen, dinCertificateUpdateReqType->Id.characters); + errn = decodeCharacters(stream, dinCertificateUpdateReqType->Id.charactersLen, dinCertificateUpdateReqType->Id.characters, dinCertificateUpdateReqType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -10315,13 +10159,10 @@ static int decode_dinCertificateUpdateReqType(bitstream_t* stream, struct dinCer if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinCertificateUpdateReqType->ContractID.charactersLen); - if (errn == 0) { - errn = (dinCertificateUpdateReqType->ContractID.charactersLen - 2) <= dinCertificateUpdateReqType_ContractID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinCertificateUpdateReqType->ContractID.charactersLen >= 2) { dinCertificateUpdateReqType->ContractID.charactersLen = (uint16_t)(dinCertificateUpdateReqType->ContractID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCertificateUpdateReqType->ContractID.charactersLen, dinCertificateUpdateReqType->ContractID.characters); + errn = decodeCharacters(stream, dinCertificateUpdateReqType->ContractID.charactersLen, dinCertificateUpdateReqType->ContractID.characters, dinCertificateUpdateReqType_ContractID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -10505,13 +10346,10 @@ static int decode_dinSignedInfoType(bitstream_t* stream, struct dinSignedInfoTyp switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinSignedInfoType->Id.charactersLen); - if (errn == 0) { - errn = (dinSignedInfoType->Id.charactersLen - 2) <= dinSignedInfoType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSignedInfoType->Id.charactersLen >= 2) { dinSignedInfoType->Id.charactersLen = (uint16_t)(dinSignedInfoType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignedInfoType->Id.charactersLen, dinSignedInfoType->Id.characters); + errn = decodeCharacters(stream, dinSignedInfoType->Id.charactersLen, dinSignedInfoType->Id.characters, dinSignedInfoType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -11477,13 +11315,10 @@ static int decode_dinMeterInfoType(bitstream_t* stream, struct dinMeterInfoType* if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinMeterInfoType->MeterID.charactersLen); - if (errn == 0) { - errn = (dinMeterInfoType->MeterID.charactersLen - 2) <= dinMeterInfoType_MeterID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinMeterInfoType->MeterID.charactersLen >= 2) { dinMeterInfoType->MeterID.charactersLen = (uint16_t)(dinMeterInfoType->MeterID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinMeterInfoType->MeterID.charactersLen, dinMeterInfoType->MeterID.characters); + errn = decodeCharacters(stream, dinMeterInfoType->MeterID.charactersLen, dinMeterInfoType->MeterID.characters, dinMeterInfoType_MeterID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -11827,13 +11662,10 @@ static int decode_dinCertificateInstallationResType(bitstream_t* stream, struct switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinCertificateInstallationResType->Id.charactersLen); - if (errn == 0) { - errn = (dinCertificateInstallationResType->Id.charactersLen - 2) <= dinCertificateInstallationResType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinCertificateInstallationResType->Id.charactersLen >= 2) { dinCertificateInstallationResType->Id.charactersLen = (uint16_t)(dinCertificateInstallationResType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCertificateInstallationResType->Id.charactersLen, dinCertificateInstallationResType->Id.characters); + errn = decodeCharacters(stream, dinCertificateInstallationResType->Id.charactersLen, dinCertificateInstallationResType->Id.characters, dinCertificateInstallationResType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -11982,13 +11814,10 @@ static int decode_dinCertificateInstallationResType(bitstream_t* stream, struct if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinCertificateInstallationResType->ContractID.charactersLen); - if (errn == 0) { - errn = (dinCertificateInstallationResType->ContractID.charactersLen - 2) <= dinCertificateInstallationResType_ContractID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinCertificateInstallationResType->ContractID.charactersLen >= 2) { dinCertificateInstallationResType->ContractID.charactersLen = (uint16_t)(dinCertificateInstallationResType->ContractID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCertificateInstallationResType->ContractID.charactersLen, dinCertificateInstallationResType->ContractID.characters); + errn = decodeCharacters(stream, dinCertificateInstallationResType->ContractID.charactersLen, dinCertificateInstallationResType->ContractID.characters, dinCertificateInstallationResType_ContractID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -12181,13 +12010,10 @@ static int decode_dinX509IssuerSerialType(bitstream_t* stream, struct dinX509Iss if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinX509IssuerSerialType->X509IssuerName.charactersLen); - if (errn == 0) { - errn = (dinX509IssuerSerialType->X509IssuerName.charactersLen - 2) <= dinX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinX509IssuerSerialType->X509IssuerName.charactersLen >= 2) { dinX509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(dinX509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinX509IssuerSerialType->X509IssuerName.charactersLen, dinX509IssuerSerialType->X509IssuerName.characters); + errn = decodeCharacters(stream, dinX509IssuerSerialType->X509IssuerName.charactersLen, dinX509IssuerSerialType->X509IssuerName.characters, dinX509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -12553,13 +12379,10 @@ static int decode_dinX509DataType(bitstream_t* stream, struct dinX509DataType* d if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen - 2) <= dinX509DataType_X509SubjectName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen, dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].characters); + errn = decodeCharacters(stream, dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen, dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].characters, dinX509DataType_X509SubjectName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -12711,13 +12534,10 @@ static int decode_dinX509DataType(bitstream_t* stream, struct dinX509DataType* d if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen - 2) <= dinX509DataType_X509SubjectName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen, dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].characters); + errn = decodeCharacters(stream, dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].charactersLen, dinX509DataType->X509SubjectName.array[dinX509DataType->X509SubjectName.arrayLen].characters, dinX509DataType_X509SubjectName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -13367,13 +13187,10 @@ static int decode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCer switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinCertificateUpdateResType->Id.charactersLen); - if (errn == 0) { - errn = (dinCertificateUpdateResType->Id.charactersLen - 2) <= dinCertificateUpdateResType_Id_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinCertificateUpdateResType->Id.charactersLen >= 2) { dinCertificateUpdateResType->Id.charactersLen = (uint16_t)(dinCertificateUpdateResType->Id.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCertificateUpdateResType->Id.charactersLen, dinCertificateUpdateResType->Id.characters); + errn = decodeCharacters(stream, dinCertificateUpdateResType->Id.charactersLen, dinCertificateUpdateResType->Id.characters, dinCertificateUpdateResType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -13522,13 +13339,10 @@ static int decode_dinCertificateUpdateResType(bitstream_t* stream, struct dinCer if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinCertificateUpdateResType->ContractID.charactersLen); - if (errn == 0) { - errn = (dinCertificateUpdateResType->ContractID.charactersLen - 2) <= dinCertificateUpdateResType_ContractID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinCertificateUpdateResType->ContractID.charactersLen >= 2) { dinCertificateUpdateResType->ContractID.charactersLen = (uint16_t)(dinCertificateUpdateResType->ContractID.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinCertificateUpdateResType->ContractID.charactersLen, dinCertificateUpdateResType->ContractID.characters); + errn = decodeCharacters(stream, dinCertificateUpdateResType->ContractID.charactersLen, dinCertificateUpdateResType->ContractID.characters, dinCertificateUpdateResType_ContractID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -13760,13 +13574,10 @@ static int decode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct di if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen - 2) <= dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen >= 2) { dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen = (uint16_t)(dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].characters); + errn = decodeCharacters(stream, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].characters, dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -13809,13 +13620,10 @@ static int decode_dinListOfRootCertificateIDsType(bitstream_t* stream, struct di if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen); - if (errn == 0) { - errn = (dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen - 2) <= dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen >= 2) { dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen = (uint16_t)(dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].characters); + errn = decodeCharacters(stream, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].charactersLen, dinListOfRootCertificateIDsType->RootCertificateID.array[dinListOfRootCertificateIDsType->RootCertificateID.arrayLen].characters, dinListOfRootCertificateIDsType_RootCertificateID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -13877,13 +13685,10 @@ static int decode_dinSignatureMethodType(bitstream_t* stream, struct dinSignatur switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &dinSignatureMethodType->Algorithm.charactersLen); - if (errn == 0) { - errn = (dinSignatureMethodType->Algorithm.charactersLen - 2) <= dinSignatureMethodType_Algorithm_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } if (errn == 0) { if (dinSignatureMethodType->Algorithm.charactersLen >= 2) { dinSignatureMethodType->Algorithm.charactersLen = (uint16_t)(dinSignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ - errn = decodeCharacters(stream, dinSignatureMethodType->Algorithm.charactersLen, dinSignatureMethodType->Algorithm.characters); + errn = decodeCharacters(stream, dinSignatureMethodType->Algorithm.charactersLen, dinSignatureMethodType->Algorithm.characters, dinSignatureMethodType_Algorithm_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -14225,13 +14030,10 @@ int decode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc) { if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); - if (errn == 0) { - errn = (exiDoc->KeyName.charactersLen - 2) <= EXIDocument_KeyName_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, EXIDocument_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; @@ -14271,13 +14073,10 @@ int decode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc) { if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); - if (errn == 0) { - errn = (exiDoc->MgmtData.charactersLen - 2) <= EXIDocument_MgmtData_CHARACTERS_SIZE ? 0 : EXI_ERROR_STRINGVALUES_OUT_OF_BOUND; - } 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); + errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, EXIDocument_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; diff --git a/src/test/main.c b/src/test/main.c index 99b19ea..087c349 100644 --- a/src/test/main.c +++ b/src/test/main.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -19,7 +19,7 @@ * * @author Daniel.Peintner.EXT@siemens.com * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.3 + * @version 1.0.0alpha * @contact Joerg.Heuer@siemens.com * *

Switch for sample programs: EXI codec only or for entire V2G example

@@ -32,6 +32,9 @@ #include "main.h" int main(int argc, char *argv[]) { + /* disable buffering of output, especially when piped or redirected */ + setvbuf(stdout, NULL, _IONBF, 0); + #if CODE_VERSION == CODE_VERSION_EXI /* EXI codec only */ return main_databinder(argc, argv); diff --git a/src/test/main.h b/src/test/main.h index 6c5407e..b5838ab 100644 --- a/src/test/main.h +++ b/src/test/main.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -19,7 +19,7 @@ * * @author Daniel.Peintner.EXT@siemens.com * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.3 + * @version 1.0.0alpha * @contact Joerg.Heuer@siemens.com * * diff --git a/src/test/main_databinder.c b/src/test/main_databinder.c index b84aa14..d5155c2 100644 --- a/src/test/main_databinder.c +++ b/src/test/main_databinder.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 1.0.0alpha * @contact Joerg.Heuer@siemens.com * *

Code generated by EXIdizer

@@ -72,8 +72,8 @@ int main_databinder(int argc, char *argv[]) { bitstream_t iStream, oStream; #if EXI_STREAM == BYTE_ARRAY - uint16_t posDecode; - uint16_t posEncode; + size_t posDecode; + size_t posEncode; #endif /* EXI_STREAM == BYTE_ARRAY */ diff --git a/src/test/main_example.c b/src/test/main_example.c index 0491147..a7af99c 100644 --- a/src/test/main_example.c +++ b/src/test/main_example.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -19,7 +19,7 @@ * * @author Daniel.Peintner.EXT@siemens.com * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.3 + * @version 1.0.0alpha * @contact Joerg.Heuer@siemens.com * * @@ -102,28 +102,13 @@ static void printASCIIString(exi_string_character_t* string, uint16_t len) { printf("\n"); } -static void printACEVSEStatus(struct v2gAC_EVSEStatusType* status) +static void printEVSEStatus(struct v2gEVSEStatusType* status) { printf("\tEVSEStatus:\n"); - printf("\t\tRCD=%d\n", status->RCD); printf("\t\tEVSENotification=%d\n", status->EVSENotification); printf("\t\tNotificationMaxDelay=%d\n", status->NotificationMaxDelay); } -static void printDCEVSEStatus(struct v2gDC_EVSEStatusType* status) -{ - if(status->EVSEIsolationStatus_isUsed) { - printf("\tEVSEStatus:\n\t\tEVSEIsolationStatus=%d\n", status->EVSEIsolationStatus); - } - printf("\t\tEVSEStatusCode=%d\n", status->EVSEStatusCode); - - if(status->EVSENotification==v2gEVSENotificationType_None) { - printf("\t\tEVSENotification=None_EVSENotificationType\n"); - } - printf("\t\tNotificationMaxDelay=%d\n",status->NotificationMaxDelay); - -} - static void printBinaryArray(uint8_t* byte, uint16_t len) { unsigned int i; for(i=0; iV2G_Message.Body); + exiOut->V2G_Message.Body.SessionSetupRes_isUsed = 1u; init_v2gSessionSetupResType(&exiOut->V2G_Message.Body.SessionSetupRes); + exiOut->V2G_Message.Body.SessionSetupRes.ResponseCode = v2gresponseCodeType_OK; exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[0] = 0; exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[1] = 20; @@ -337,80 +324,38 @@ static int sessionSetup(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exi } static int serviceDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) { + int i; printf("EVSE side: serviceDiscovery called\n" ); printf("\tReceived data:\n"); printf("\tHeader SessionID="); printBinaryArray(exiIn->V2G_Message.Header.SessionID.bytes, exiIn->V2G_Message.Header.SessionID.bytesLen); - printf("\t\t ServiceCategory=%d\n", exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory); + if(exiIn->V2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs_isUsed) { + for(i=0;iV2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs.ServiceID.arrayLen; i++) { + printf("\t\tSupportedServiceID=%d\n", exiIn->V2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs.ServiceID.array[i]); + } + } /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.ServiceDiscoveryRes_isUsed = 1u; init_v2gServiceDiscoveryResType(&exiOut->V2G_Message.Body.ServiceDiscoveryRes); - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList_isUsed = 0u; /* we do not provide VAS */ + exiOut->V2G_Message.Body.ServiceDiscoveryRes.VASList_isUsed = 0u; /* we do not provide VAS */ exiOut->V2G_Message.Body.ServiceDiscoveryRes.ResponseCode = v2gresponseCodeType_OK; - - /* result->ChargeService.SupportedEnergyTransferMode = AC_single_phase_core_EnergyTransferModeType; */ - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceID = 1; /* ID of the charge service */ - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName.characters[0] = 'A'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName.characters[1] = 'C'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName.characters[2] = '_'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName.characters[3] = 'D'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName.characters[4] = 'C'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName.characters[5] = '\0'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName.charactersLen = 5; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.FreeService = 1; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceCategory = v2gserviceCategoryType_EVCharging; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope.characters[0] = 100; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope.characters[1] = '\0'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope.charactersLen = 1; - - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[0] = v2gEnergyTransferModeType_DC_combo_core; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[1] = v2gEnergyTransferModeType_AC_single_phase_core; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.arrayLen = 2; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[0] = v2gpaymentOptionType_ExternalPayment; /* EVSE handles the payment */ exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] = v2gpaymentOptionType_Contract; exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.arrayLen = 2; - if(exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory==v2gserviceCategoryType_Internet || exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory==v2gserviceCategoryType_OtherCustom || exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory_isUsed == 0u) { + exiOut->V2G_Message.Body.ServiceDiscoveryRes.EnergyTransferServiceList.Service.arrayLen = 1; + exiOut->V2G_Message.Body.ServiceDiscoveryRes.EnergyTransferServiceList.Service.array[0].ServiceID = 1; /* ID of the charge service */ + exiOut->V2G_Message.Body.ServiceDiscoveryRes.EnergyTransferServiceList.Service.array[0].FreeService = 1; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.arrayLen = 2; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].FreeService=1; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceID=22; /* ID of the charge service */ - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.characters[0]='W'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.characters[1]='W'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.characters[2]='W'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.charactersLen = 3; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceCategory= v2gserviceCategoryType_Internet; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceScope_isUsed = 0u; - - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].FreeService=0; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceID=33; /* ID of the charge service */ - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName_isUsed = 1u; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.characters[0]='H'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.characters[1]='T'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.characters[2]='T'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.characters[3]='P'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.characters[4]='S'; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.charactersLen = 5; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceCategory=v2gserviceCategoryType_Internet; - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceScope_isUsed = 0u; - - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList_isUsed = 1u; - - } else { - exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList_isUsed = 0u; /* no value added service requested */ - } + exiOut->V2G_Message.Body.ServiceDiscoveryRes.VASList_isUsed = 0u; /* no value added service requested */ return 0; } @@ -428,6 +373,7 @@ static int serviceDetail(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.ServiceDetailRes_isUsed= 1u; init_v2gServiceDetailResType(&exiOut->V2G_Message.Body.ServiceDetailRes); @@ -476,8 +422,9 @@ static int serviceDetail(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[6] = 'l'; exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue_isUsed = 1u; exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Value = 1234; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Unit = v2gunitSymbolType_m; - exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Multiplier = 0; + + exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Exponent = 1; + exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Value = 2; exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = v2gresponseCodeType_OK; @@ -497,19 +444,20 @@ static int paymentServiceSelection(struct v2gEXIDocument* exiIn, struct v2gEXIDo printf("\t\t SelectedPaymentOption=ExternalPayment\n"); } - for(i=0; iV2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.arrayLen;i++) - { - printf("\t\t ServiceID=%d\n", exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[i].ServiceID); - if(exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID_isUsed) { - printf("\t\t ParameterSetID=%d\n", exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID); + if(exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedVASList_isUsed) { + for(i=0; iV2G_Message.Body.PaymentServiceSelectionReq.SelectedVASList.SelectedService.arrayLen;i++) + { + printf("\t\t ServiceID=%d\n", exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedVASList.SelectedService.array[i].ServiceID); + printf("\t\t ParameterSetID=%d\n", exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedVASList.SelectedService.array[i].ParameterSetID); } } /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.PaymentServiceSelectionRes_isUsed= 1u; - init_v2gPaymentServiceSelectionResType(&exiOut->V2G_Message.Body.PaymentServiceSelectionRes); + init_v2gV2GResponseType(&exiOut->V2G_Message.Body.PaymentServiceSelectionRes); exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = v2gresponseCodeType_OK; @@ -531,7 +479,9 @@ static int paymentDetails(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* e /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.PaymentDetailsRes_isUsed = 1u; + init_v2gPaymentDetailsResType(&exiOut->V2G_Message.Body.PaymentDetailsRes); exiOut->V2G_Message.Body.PaymentDetailsRes.ResponseCode = v2gresponseCodeType_OK; exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytesLen = 1; @@ -558,7 +508,9 @@ static int authorization(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.AuthorizationRes_isUsed = 1u; + init_v2gAuthorizationResType(&exiOut->V2G_Message.Body.AuthorizationRes); exiOut->V2G_Message.Body.AuthorizationRes.ResponseCode = v2gresponseCodeType_OK; exiOut->V2G_Message.Body.AuthorizationRes.EVSEProcessing = v2gEVSEProcessingType_Finished; @@ -571,235 +523,28 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID printf("EVSE side: chargeParameterDiscovery called\n" ); printf("\tReceived data:\n"); - printf("\t\t EVRequestedEnergyTransferType=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode); - /* check,if DC or AC is requested */ - if(exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode == v2gEnergyTransferModeType_DC_core || exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed == 1) { - printf("\t\t MaxEntriesSAScheduleTuple=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.MaxEntriesSAScheduleTuple); - printf("\t\t EVStatus:\n"); - printf("\t\t\t EVReady=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVReady); - printf("\t\t\t EVRESSSOC=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVRESSSOC); - printf("\t\t\t EVErrorCode=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVErrorCode); - - printf("\t\t DepartureTime=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DepartureTime); - printf("\t\t EVMaximumCurrentLimit=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Value); - printf("\t\t EVMaximumPowerLimit=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Value); - printf("\t\t EVMaximumVoltageLimit=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Value); - printf("\t\t EVEnergyCapacity=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Value); - printf("\t\t EVEnergyRequest=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Value); - printf("\t\t FullSOC=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.FullSOC); - printf("\t\t BulkSOC=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.BulkSOC); - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_v2gBodyType(&exiOut->V2G_Message.Body); - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u; - - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = v2gresponseCodeType_OK; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = v2gEVSEProcessingType_Finished; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter_isUsed = 0u; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSEIsolationStatus = v2gisolationLevelType_Valid; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.NotificationMaxDelay = 10; - - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Unit = v2gunitSymbolType_A; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Value = 50; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Unit = v2gunitSymbolType_W; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Value = 20000; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Unit = v2gunitSymbolType_V; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Value = 400; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Unit = v2gunitSymbolType_A; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Value = 5; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Unit = v2gunitSymbolType_V; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Value = 200; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Unit = v2gunitSymbolType_A; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Value = 2; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance_isUsed = 1u; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Unit = v2gunitSymbolType_A; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Value = 1; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Unit = v2gunitSymbolType_W; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Value = 5000; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered_isUsed = 1u; - - - /* set up a PMax schedule */ - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SAScheduleTupleID = 10; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff_isUsed = 0; /* no tariffs */ - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.arrayLen = 2; - /* set up two PMax entries: #1 */ - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value=20000; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Unit = v2gunitSymbolType_W; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier =0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.start=0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.duration_isUsed = 0; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Value=0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Unit = v2gunitSymbolType_W; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Multiplier =0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.start=1200; /* 20 min */ - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.duration_isUsed =0; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.arrayLen =2; /* we set up two time entries */ - - - /* #2 */ - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SAScheduleTupleID = 15; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value = 10000; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Unit = v2gunitSymbolType_W; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier =0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.start=0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval_isUsed = 1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.duration_isUsed = 0u; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Value=0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Unit = v2gunitSymbolType_W; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Multiplier =1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.start=1800; /* 30 min */ - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.duration=3600; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.duration_isUsed = 1u; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.arrayLen =2; /* we set up two time entries */ - - - - - } else { /* AC related */ - - printf("\t\t DepartureTime=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.DepartureTime); - printf("\t\t EAmount=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Value); - printf("\t\t EVMaxCurrent=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Value); - printf("\t\t EVMaxVoltage=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Value); - printf("\t\t EVMinCurrent=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Value); - - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_v2gBodyType(&exiOut->V2G_Message.Body); - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u; - - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = v2gresponseCodeType_OK; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = v2gEVSEProcessingType_Finished; - - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter_isUsed = 0u; - - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus.RCD =1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus.NotificationMaxDelay=123; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Unit = v2gunitSymbolType_A; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Value = 100; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Unit = v2gunitSymbolType_V; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Value = 300; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = 1; - - /* set up a PMax schedule */ - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SAScheduleTupleID = 10; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff_isUsed = 0; /* no tariffs */ - - - /* set up two PMax entries: #1 */ - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value=20000; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Unit = v2gunitSymbolType_W; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier =0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.start=0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.duration_isUsed =0; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Value=0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Unit = v2gunitSymbolType_W; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Multiplier =0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.start=1200; /* 20 min */ - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.duration_isUsed =0; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.arrayLen =2; /* we set up two time entries */ - - /* set up sale entries */ - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.NumEPriceLevels=2; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.NumEPriceLevels_isUsed = 1u; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.SalesTariffID=20; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.Id.characters[0]=100; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.Id.charactersLen=1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.Id_isUsed =1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.SalesTariffEntry.array[0].EPriceLevel=2; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.SalesTariffEntry.array[0].EPriceLevel_isUsed =1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.SalesTariffEntry.array[0].ConsumptionCost.arrayLen =0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.SalesTariffEntry.array[0].RelativeTimeInterval.start=0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.SalesTariffEntry.array[0].RelativeTimeInterval_isUsed = 1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.SalesTariffEntry.array[0].RelativeTimeInterval.duration=10; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SalesTariff.SalesTariffEntry.array[0].RelativeTimeInterval.duration_isUsed =1; - - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].EPriceLevel=3; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].RelativeTimeInterval.start=11; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].RelativeTimeInterval.duration=10; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].RelativeTimeInterval_isUsed = 1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].RelativeTimeInterval.duration_isUsed =1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].amount=10; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].amountMultiplier=1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].amountMultiplier_isUsed =1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].costKind= v2gcostKindType_RenewableGenerationPercentage; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].startValue.Value=123; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.arrayLen = 1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].EPriceLevel_isUsed =1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.arrayLen = 1; - - - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.arrayLen = 1; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].TimeInterval_isUsed = 1u; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value=0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier = 0; - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value = 0; - - exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.arrayLen = 2; + if(exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter_isUsed) { + printf("\t\t DepartureTime=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.DepartureTime); + printf("\t\t EVMaximumChargeCurrent=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumChargeCurrent.Value); } + /* Prepare data for EV */ + exiOut->V2G_Message_isUsed = 1u; + init_v2gBodyType(&exiOut->V2G_Message.Body); + + exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u; + init_v2gChargeParameterDiscoveryResType(&exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes); + + exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = v2gresponseCodeType_OK_CertificateExpiresSoon; + exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = v2gEVSEProcessingType_Ongoing; + exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEEnergyTransferParameter_isUsed = 1u; + /*exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEEnergyTransferParameter = 0;*/ return 0; } static int powerDelivery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) { - int i; - printf("EVSE side: powerDelivery called\n" ); printf("\tReceived data:\n"); @@ -809,51 +554,17 @@ static int powerDelivery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.PowerDeliveryRes_isUsed = 1u; + init_v2gPowerDeliveryResType(&exiOut->V2G_Message.Body.PowerDeliveryRes); + exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = v2gresponseCodeType_OK; - if(exiIn->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed) { + exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus_isUsed = 1; + exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.EVSENotification = v2gEVSENotificationType_StopCharging; + exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEStatus.NotificationMaxDelay=12; - printf("\t\t EVStatus:\n"); - printf("\t\t\t EVReady=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.DC_EVStatus.EVReady); - printf("\t\t\t EVRESSSOC=%d\n",exiIn->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.DC_EVStatus.EVRESSSOC); - printf("\t\t\t EVErrorCode=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.DC_EVStatus.EVErrorCode); - - printf("\t\t BulkChargingComplete=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete); - printf("\t\t ChargingComplete=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.ChargingComplete); - - if(exiIn->V2G_Message.Body.PowerDeliveryReq.ChargingProfile_isUsed) { - printf("\t\t\tChargingProfile:\n"); - printf("\t\t\t SAScheduleTupleID=%d\n",exiIn->V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID ); - for(i=0;iV2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.arrayLen;i++) { - printf("\t\t\t Entry#%d\n",i); - printf("\t\t\t\t ChargingProfileEntryMaxPower=%d (%d %d) \n", exiIn->V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[i].ChargingProfileEntryMaxPower.Value, exiIn->V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[i].ChargingProfileEntryMaxPower.Unit, exiIn->V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[i].ChargingProfileEntryMaxPower.Multiplier); - printf("\t\t\t\t ChargingProfileEntryStart=%d\n",exiIn->V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[i].ChargingProfileEntryStart); - printf("\t\t\t\t ChargingProfileEntryMaxNumberOfPhasesInUse=%d\n", exiIn->V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[i].ChargingProfileEntryMaxNumberOfPhasesInUse); - - } - } - - exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = v2gresponseCodeType_OK; - exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSEIsolationStatus =0; - exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1; - exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready; - exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None; - exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.NotificationMaxDelay = 123; - - exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus_isUsed = 1; - exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus_isUsed = 0; - - - } else { - exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = v2gresponseCodeType_OK; - exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus.RCD=0; - exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus.EVSENotification=3; - exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus.NotificationMaxDelay=12; - - exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus_isUsed = 1; - exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus_isUsed = 0; - } + exiOut->V2G_Message.Body.PowerDeliveryRes.EVSEProcessing = v2gEVSEProcessingType_Ongoing_WaitingForCustomerInteraction; return 0; } @@ -866,37 +577,19 @@ static int chargingStatus(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* e /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.ChargingStatusRes_isUsed = 1u; + init_v2gChargingStatusResType(&exiOut->V2G_Message.Body.ChargingStatusRes); + exiOut->V2G_Message.Body.ChargingStatusRes.ResponseCode = v2gresponseCodeType_OK; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]=12; + exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]= 'A'; exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.charactersLen =1; - exiOut->V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus.RCD=1; - exiOut->V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None; - exiOut->V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus.NotificationMaxDelay=123; - exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired=1; - exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired_isUsed =1; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Multiplier = 2; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Unit = v2gunitSymbolType_A; - - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Value = 400; - exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent_isUsed =1; - exiOut->V2G_Message.Body.ChargingStatusRes.SAScheduleTupleID=10; - - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo_isUsed =1; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterID.charactersLen =1; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterID.characters[0]=2; - - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterReading = 5000; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterStatus = 4321; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.TMeter =123456789; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.SigMeterReading.bytes[0]=123; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.SigMeterReading.bytesLen=1; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterReading_isUsed = 1; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterStatus_isUsed =1; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.TMeter_isUsed=1; - exiOut->V2G_Message.Body.ChargingStatusRes.MeterInfo.SigMeterReading_isUsed =1; + exiOut->V2G_Message.Body.ChargingStatusRes.EVSEStatus.EVSENotification = v2gEVSENotificationType_ReNegotiation; + exiOut->V2G_Message.Body.ChargingStatusRes.EVSEStatus.NotificationMaxDelay=123; + exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired = 1; + exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired_isUsed = 1; return 0; } @@ -912,20 +605,15 @@ static int meteringReceipt(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* printf("\t\t SessionID=%d\n", exiIn->V2G_Message.Body.MeteringReceiptReq.SessionID.bytes[1]); printf("\t\t MeterInfo.MeterStatus=%d\n", exiIn->V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterStatus); printf("\t\t MeterInfo.MeterID=%d\n", exiIn->V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.characters[0]); - printf("\t\t MeterInfo.isused.MeterReading=%d\n", exiIn->V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterReading_isUsed); - printf("\t\t MeterReading.Value=%lu\n", (long unsigned int)exiIn->V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterReading); - printf("\t\t MeterInfo.TMeter=%li\n", (long int)exiIn->V2G_Message.Body.MeteringReceiptReq.MeterInfo.TMeter); /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.MeteringReceiptRes_isUsed = 1u; + init_v2gV2GResponseType(&exiOut->V2G_Message.Body.MeteringReceiptRes); - exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = v2gresponseCodeType_OK; - - exiOut->V2G_Message.Body.MeteringReceiptRes.AC_EVSEStatus.RCD=1; - exiOut->V2G_Message.Body.MeteringReceiptRes.AC_EVSEStatus.EVSENotification= v2gEVSENotificationType_None; - exiOut->V2G_Message.Body.MeteringReceiptRes.AC_EVSEStatus.NotificationMaxDelay=123; + exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = v2gresponseCodeType_FAILED; return 0; } @@ -941,7 +629,9 @@ static int sessionStop(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiO /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.SessionStopRes_isUsed = 1u; + init_v2gV2GResponseType(&exiOut->V2G_Message.Body.SessionStopRes); exiOut->V2G_Message.Body.SessionStopRes.ResponseCode = v2gresponseCodeType_OK; @@ -951,26 +641,20 @@ static int sessionStop(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiO static int cableCheck(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) { printf("EVSE side: cableCheck called\n" ); - printf("\tReceived data:\n"); - - printf("\t\t EVStatus:\n"); - printf("\t\t\t EVReady=%d\n", exiIn->V2G_Message.Body.CableCheckReq.DC_EVStatus.EVReady); - printf("\t\t\t EVRESSSOC=%d\n", exiIn->V2G_Message.Body.CableCheckReq.DC_EVStatus.EVRESSSOC); - printf("\t\t\t EVErrorCode=%d\n", exiIn->V2G_Message.Body.CableCheckReq.DC_EVStatus.EVErrorCode); /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.CableCheckRes_isUsed = 1u; + init_v2gCableCheckResType(&exiOut->V2G_Message.Body.CableCheckRes); exiOut->V2G_Message.Body.CableCheckRes.ResponseCode = v2gresponseCodeType_OK; + exiOut->V2G_Message.Body.CableCheckRes.EVSEStatus.NotificationMaxDelay = 1234; + exiOut->V2G_Message.Body.CableCheckRes.EVSEStatus.EVSENotification= v2gEVSENotificationType_ReNegotiation; + exiOut->V2G_Message.Body.CableCheckRes.EVSEProcessing = v2gEVSEProcessingType_Finished; - exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSEIsolationStatus= v2gisolationLevelType_Valid; - exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1u; - exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready; - exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSENotification= v2gEVSENotificationType_None; - exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.NotificationMaxDelay = 1234; return 0; } @@ -980,152 +664,28 @@ static int preCharge(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut printf("EVSE side: preCharge called\n" ); printf("\tReceived data:\n"); - printf("\t\t EVStatus:\n"); - printf("\t\t\t EVReady=%d\n", exiIn->V2G_Message.Body.PreChargeReq.DC_EVStatus.EVReady); - printf("\t\t\t EVRESSSOC=%d\n", exiIn->V2G_Message.Body.PreChargeReq.DC_EVStatus.EVRESSSOC); - printf("\t\t\t EVErrorCode=%d\n", exiIn->V2G_Message.Body.PreChargeReq.DC_EVStatus.EVErrorCode); - - printf("\t\t EVTargetCurrent=%d (%d %d)\n", exiIn->V2G_Message.Body.PreChargeReq.EVTargetCurrent.Value, exiIn->V2G_Message.Body.PreChargeReq.EVTargetCurrent.Unit, exiIn->V2G_Message.Body.PreChargeReq.EVTargetCurrent.Multiplier); - printf("\t\t EVTargetVoltage=%d (%d %d)\n", exiIn->V2G_Message.Body.PreChargeReq.EVTargetVoltage.Value, exiIn->V2G_Message.Body.PreChargeReq.EVTargetVoltage.Unit, exiIn->V2G_Message.Body.PreChargeReq.EVTargetVoltage.Multiplier); + printf("\t\t EVTargetCurrent=%d (%d)\n", exiIn->V2G_Message.Body.PreChargeReq.EVTargetCurrent.Value, exiIn->V2G_Message.Body.PreChargeReq.EVTargetCurrent.Exponent); + printf("\t\t EVTargetVoltage=%d (%d)\n", exiIn->V2G_Message.Body.PreChargeReq.EVTargetVoltage.Value, exiIn->V2G_Message.Body.PreChargeReq.EVTargetVoltage.Exponent); /* Prepare data for EV */ exiOut->V2G_Message_isUsed = 1u; init_v2gBodyType(&exiOut->V2G_Message.Body); + exiOut->V2G_Message.Body.PreChargeRes_isUsed = 1u; + init_v2gPreChargeResType(&exiOut->V2G_Message.Body.PreChargeRes); exiOut->V2G_Message.Body.PreChargeRes.ResponseCode = v2gresponseCodeType_OK; + exiOut->V2G_Message.Body.PreChargeRes.EVSEStatus.EVSENotification = v2gEVSENotificationType_StopCharging; + exiOut->V2G_Message.Body.PreChargeRes.EVSEStatus.NotificationMaxDelay= 1234; - exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSEIsolationStatus= v2gisolationLevelType_Valid; - exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1u; - exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready; - exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None; - exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.NotificationMaxDelay= 1234; - - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Multiplier = 0; - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Unit = v2gunitSymbolType_V; - exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value= 100; + exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Exponent = 3; + exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value= 456; return 0; } -static int currentDemand(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) { - - printf("EVSE side: currentDemand called\n" ); - printf("\tReceived data:\n"); - printf("\t\t EVStatus:\n"); - printf("\t\t\t EVReady=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady); - printf("\t\t\t EVRESSSOC=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC); - printf("\t\t\t EVErrorCode=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode); - - - printf("\t\t EVTargetCurrent=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.EVTargetCurrent.Value); - printf("\t\t EVMaximumVoltageLimit=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value); - printf("\t\t EVMaximumPowerLimit=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value); - printf("\t\t EVMaximumCurrentLimit=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value); - printf("\t\t BulkChargingComplete=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete); - printf("\t\t ChargingComplete=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.ChargingComplete); - printf("\t\t RemainingTimeToFullSoC=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value); - printf("\t\t RemainingTimeToBulkSoC=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value); - - printf("\t\t EVTargetVoltage=%d\n", exiIn->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_v2gBodyType(&exiOut->V2G_Message.Body); - exiOut->V2G_Message.Body.CurrentDemandRes_isUsed = 1u; - - exiOut->V2G_Message.Body.CurrentDemandRes.ResponseCode = v2gresponseCodeType_OK; - - exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus= v2gisolationLevelType_Valid; - exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1; - exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready; - exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSENotification= v2gEVSENotificationType_None; - exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.NotificationMaxDelay=1234; - - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Multiplier = 0; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Unit = v2gunitSymbolType_V; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value = 400; - - - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Multiplier = 0; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Unit = v2gunitSymbolType_A; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value = 45; - - exiOut->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved=0; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved=1; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved=0; - - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Multiplier = 0; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Unit = v2gunitSymbolType_V; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Value = 400; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit_isUsed = 1u; - - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Multiplier = 0; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Unit = v2gunitSymbolType_A; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Value = 50; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit_isUsed = 1u; - - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Multiplier = 0; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Unit = v2gunitSymbolType_W; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Value = 20000; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit_isUsed = 1u; - - - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEID.characters[0]=12; - exiOut->V2G_Message.Body.CurrentDemandRes.EVSEID.charactersLen = 1; - - exiOut->V2G_Message.Body.CurrentDemandRes.SAScheduleTupleID = 123; - - - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo_isUsed = 1u; - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo.MeterID.charactersLen =1; - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo.MeterID.characters[0]=2; - - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo.MeterReading = 500; - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo.MeterStatus = 4321; - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo.TMeter =123456789; - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo.MeterReading_isUsed = 1; - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo.MeterStatus_isUsed =1; - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo.TMeter_isUsed =1; - exiOut->V2G_Message.Body.CurrentDemandRes.MeterInfo.SigMeterReading_isUsed =0; - - exiOut->V2G_Message.Body.CurrentDemandRes.ReceiptRequired = 1; - exiOut->V2G_Message.Body.CurrentDemandRes.ReceiptRequired_isUsed =1; - - return 0; -} - - -static int weldingDetection(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) { - - printf("EVSE side: weldingDetection called\n" ); - printf("\tReceived data:\n"); - printf("\t\t EVStatus:\n"); - printf("\t\t\t EVReady=%d\n", exiIn->V2G_Message.Body.WeldingDetectionReq.DC_EVStatus.EVReady); - printf("\t\t\t EVRESSSOC=%d\n", exiIn->V2G_Message.Body.WeldingDetectionReq.DC_EVStatus.EVRESSSOC); - printf("\t\t\t EVErrorCode=%d\n", exiIn->V2G_Message.Body.WeldingDetectionReq.DC_EVStatus.EVErrorCode); - - /* Prepare data for EV */ - exiOut->V2G_Message_isUsed = 1u; - init_v2gBodyType(&exiOut->V2G_Message.Body); - exiOut->V2G_Message.Body.WeldingDetectionRes_isUsed = 1u; - - exiOut->V2G_Message.Body.WeldingDetectionRes.ResponseCode = v2gresponseCodeType_OK; - - exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSEIsolationStatus= v2gisolationLevelType_Valid; - exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1; - exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready; - exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSENotification= v2gEVSENotificationType_None; - exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.NotificationMaxDelay=123; - exiOut->V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Value = 1234; - exiOut->V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Unit = v2gunitSymbolType_V; - exiOut->V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Multiplier = 0; - - return 0; -} - static int create_response_message(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut) { int errn = ERROR_UNEXPECTED_REQUEST_MESSAGE; @@ -1159,10 +719,6 @@ static int create_response_message(struct v2gEXIDocument* exiIn, struct v2gEXIDo errn = cableCheck(exiIn, exiOut); } else if (exiIn->V2G_Message.Body.PreChargeReq_isUsed) { errn = preCharge(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.CurrentDemandReq_isUsed) { - errn = currentDemand(exiIn, exiOut); - } else if (exiIn->V2G_Message.Body.WeldingDetectionReq_isUsed) { - errn = weldingDetection(exiIn, exiOut); } } @@ -1177,8 +733,8 @@ static int request_response(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* bitstream_t stream1; bitstream_t stream2; - uint16_t pos1; - uint16_t pos2; + size_t pos1; + size_t pos2; stream1.size = BUFFER_SIZE; stream1.data = buffer1; @@ -1218,7 +774,7 @@ static int request_response(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* -static int ac_charging() +static int charging() { int errn = 0; int i, j; @@ -1226,9 +782,8 @@ static int ac_charging() struct v2gEXIDocument exiIn; struct v2gEXIDocument exiOut; - struct v2gServiceDiscoveryResType serviceDiscoveryRes; struct v2gServiceDetailResType serviceDetailRes; - struct v2gPaymentServiceSelectionResType paymentServiceSelectionRes; + struct v2gV2GResponseType paymentServiceSelectionRes; struct v2gPaymentDetailsResType paymentDetailsRes; /* setup header information */ @@ -1243,8 +798,7 @@ static int ac_charging() exiIn.V2G_Message.Header.SessionID.bytes[5] = 0; exiIn.V2G_Message.Header.SessionID.bytes[6] = 0; exiIn.V2G_Message.Header.SessionID.bytes[7] = 0; - exiIn.V2G_Message.Header.SessionID.bytesLen = 8; /* length of the byte session array is always 8*/ - exiIn.V2G_Message.Header.Notification_isUsed = 0u; /* no notification */ + exiIn.V2G_Message.Header.SessionID.bytesLen = 8; exiIn.V2G_Message.Header.Signature_isUsed = 0u; @@ -1277,6 +831,8 @@ static int ac_charging() errn = ERROR_UNEXPECTED_SESSION_SETUP_RESP_MESSAGE; return errn; } + } else { + return errn; } @@ -1288,9 +844,9 @@ static int ac_charging() init_v2gServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq); - exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory_isUsed = 1u; - exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory = v2gserviceCategoryType_Internet; - exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceScope_isUsed = 0u; + exiIn.V2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs_isUsed = 1u; + exiIn.V2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs.ServiceID.arrayLen = 1; + exiIn.V2G_Message.Body.ServiceDiscoveryReq.SupportedServiceIDs.ServiceID.array[0] = v2gserviceCategoryType_Internet; printf("EV side: call EVSE serviceDiscovery"); @@ -1299,13 +855,15 @@ static int ac_charging() if(errn == 0) { /* check, if this is the right response message */ if(exiOut.V2G_Message.Body.ServiceDiscoveryRes_isUsed) { - serviceDiscoveryRes = exiOut.V2G_Message.Body.ServiceDiscoveryRes; /* show results of EVSEs answer message */ printf("EV side: received response message from EVSE\n"); printf("\tHeader SessionID="); printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.ServiceDiscoveryRes.ResponseCode); - printf("\t ServiceID=%d\n", exiOut.V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceID); + + printf("\t Service ResponseCode=%d\n", exiOut.V2G_Message.Body.ServiceDiscoveryRes.ResponseCode); + + /*printf("\t ServiceID=%d\n", exiOut.V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceID); printf("\t ServiceName="); printASCIIString(serviceDiscoveryRes.ChargeService.ServiceName.characters, serviceDiscoveryRes.ChargeService.ServiceName.charactersLen); if(serviceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] == v2gpaymentOptionType_Contract) { @@ -1332,12 +890,14 @@ static int ac_charging() if(serviceDiscoveryRes.ServiceList.Service.array[i].FreeService==1) { printf("\t\t FreeService=True\n"); } - } + }*/ } else { errn = ERROR_UNEXPECTED_SERVICE_DISCOVERY_RESP_MESSAGE; return errn; } + } else { + return errn; } @@ -1379,14 +939,14 @@ static int ac_charging() printf("\t\t\t %d: ParameterName=", j+1); printASCIIString(serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].Name.characters, exiOut.V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].Name.charactersLen); - if(serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].shortValue_isUsed == 1u) { + /*if(serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].shortValue_isUsed == 1u) { printf("\t\t\t %d: StringValue=", j+1); printASCIIString(serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].stringValue.characters, serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].stringValue.charactersLen); } else if(serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].intValue_isUsed == 1u) { printf("\t\t\t %d: IntValue=%d\n", j+1, serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].intValue); } else if(serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].physicalValue_isUsed == 1u) { printf("\t\t\t %d: PhysicalValue=%d (%d)\n", j+1, serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].physicalValue.Value, serviceDetailRes.ServiceParameterList.ParameterSet.array[i].Parameter.array[j].physicalValue.Multiplier); - } + }*/ } } } @@ -1394,6 +954,8 @@ static int ac_charging() errn = ERROR_UNEXPECTED_SERVICE_DETAILS_RESP_MESSAGE; return errn; } + } else { + return errn; } @@ -1406,12 +968,9 @@ static int ac_charging() init_v2gPaymentServiceSelectionReqType(&exiIn.V2G_Message.Body.PaymentServiceSelectionReq); exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption = v2gpaymentOptionType_ExternalPayment; - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.arrayLen = 2; - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ServiceID = serviceDiscoveryRes.ChargeService.ServiceID; /* charge server ID */ - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ParameterSetID_isUsed = 0u; /* is not used */ - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[1].ServiceID = serviceDiscoveryRes.ServiceList.Service.array[0].ServiceID; - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[1].ParameterSetID= serviceDetailRes.ServiceParameterList.ParameterSet.array[0].ParameterSetID; - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[1].ParameterSetID_isUsed = 1u; + exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedVASList_isUsed = 0u; + exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedEnergyTransferService.ServiceID = 1; + exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedEnergyTransferService.ParameterSetID = 4; printf("EV side: call EVSE ServicePaymentSelection \n"); @@ -1424,14 +983,18 @@ static int ac_charging() /* show results of EVSEs answer message */ printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); + if(exiOut.V2G_Message.Body.PaymentServiceSelectionRes.EVSEStatus_isUsed) { + printf("\tHeader SessionID="); + printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); + } printf("\t ResponseCode=%d\n", paymentServiceSelectionRes.ResponseCode); } else { errn = ERROR_UNEXPECTED_PAYMENT_SERVICE_SELECTION_RESP_MESSAGE; return errn; } + } else { + return errn; } @@ -1474,8 +1037,8 @@ static int ac_charging() paymentDetailsRes = exiOut.V2G_Message.Body.PaymentDetailsRes; - /* show results of EVSEs answer message */ printf("EV side: received response message from EVSE\n"); + /* show results of EVSEs answer message */ printf("\tHeader SessionID="); printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); printf("\t ResponseCode=%d\n", paymentDetailsRes.ResponseCode); @@ -1486,6 +1049,8 @@ static int ac_charging() errn = ERROR_UNEXPECTED_PAYMENT_DETAILS_RESP_MESSAGE; return errn; } + } else { + return errn; } @@ -1530,6 +1095,8 @@ static int ac_charging() errn = ERROR_UNEXPECTED_AUTHORIZATION_RESP_MESSAGE; return errn; } + } else { + return errn; } @@ -1544,27 +1111,32 @@ static int ac_charging() init_v2gChargeParameterDiscoveryReqType(&exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq); /* we use here AC based charging parameters */ - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode = v2gEnergyTransferModeType_AC_single_phase_core; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.MaxEntriesSAScheduleTuple = 1234; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.MaxSupportingPoints_isUsed = 1u; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.MaxSupportingPoints = 1234; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter_isUsed = 1u; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.DepartureTime = 12345; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter_isUsed = 1u; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.DepartureTime = 12345; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Multiplier = 0; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Unit = v2gunitSymbolType_W; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Value = 100; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumChargePower.Exponent = 0; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumChargePower.Value = 100; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Multiplier = 0; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Unit = v2gunitSymbolType_A; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Value = 200; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumChargeCurrent.Exponent = 0; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumChargeCurrent.Value = 400; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Multiplier = 0; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Unit = v2gunitSymbolType_V; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Value = 400; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMinimumChargeCurrent.Exponent = 0; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMinimumChargeCurrent.Value = 200; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Multiplier = 0; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Unit = v2gunitSymbolType_A; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Value = 500; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumVoltage.Exponent = 0; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumVoltage.Value = 400; + + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumDischargePower.Exponent = 0; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumDischargePower.Value = 200; + + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumDischargeCurrent.Exponent = 0; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMaximumDischargeCurrent.Value = 400; + + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMinimumDischargeCurrent.Exponent = 0; + exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVBidirectionalParameter.EVMinimumDischargeCurrent.Value = 200; printf("EV side: call EVSE chargeParameterDiscovery"); @@ -1580,474 +1152,20 @@ static int ac_charging() printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode); - printACEVSEStatus(&(exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus)); + /*printACEVSEStatus(&(exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus)); printf("\t EVSEProcessing=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing); printf("\t EVSEMaxCurrent=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Value); - printf("\t EVSENominalVoltage=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Value); + printf("\t EVSENominalVoltage=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Value);*/ } else { errn = ERROR_UNEXPECTED_CHARGE_PARAMETER_DISCOVERY_RESP_MESSAGE; return errn; } + } else { + return errn; } - /********************************* - * PowerDelivery * - *********************************/ - - init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.PowerDeliveryReq_isUsed = 1u; - - init_v2gPowerDeliveryReqType(&exiIn.V2G_Message.Body.PowerDeliveryReq); - - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile_isUsed = 0; - exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed = 0; /* only used for DC charging */ - - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargeProgress = v2gchargeProgressType_Start; - exiIn.V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID = exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SAScheduleTupleID; - - printf("EV side: call EVSE powerDelivery \n"); - - errn = request_response(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.PowerDeliveryRes_isUsed) { - - /* show results of EVSEs answer message */ - printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.PowerDeliveryRes.ResponseCode); - - printACEVSEStatus(&(exiOut.V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus)); - } else { - errn = ERROR_UNEXPECTED_POWER_DELIVERY_RESP_MESSAGE; - return errn; - } - } - - - - /********************************* - * Setup data for chargingStatus * - *********************************/ - - init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.ChargingStatusReq_isUsed = 1u; - - init_v2gChargingStatusReqType(&exiIn.V2G_Message.Body.ChargingStatusReq); - - printf("EV side: call EVSE chargingStatus \n"); - - errn = request_response(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.ChargingStatusRes_isUsed) { - - /* show results of EVSEs answer message */ - printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.ResponseCode); - - printACEVSEStatus(&(exiOut.V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus)); - - printf("\tReceiptRequired=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.ReceiptRequired); - printf("\tEVSEID=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]); - printf("\tSAScheduleTupleID=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.SAScheduleTupleID); - printf("\tEVSEMaxCurrent=%d (%d %d)\n", exiOut.V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Value, exiOut.V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Unit, exiOut.V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Multiplier); - printf("\tisused.MeterInfo=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo_isUsed); - printf("\t\tMeterInfo.MeterID=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterID.characters[0]); - printf("\t\tMeterInfo.MeterReading.Value=%li\n", (long int)exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterReading); - printf("\t\tMeterInfo.MeterStatus=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterStatus); - printf("\t\tMeterInfo.TMeter=%li\n", (long int)exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.TMeter); - printf("\t\tMeterInfo.SigMeterReading.data=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.SigMeterReading.bytes[0]); - } else { - errn = ERROR_UNEXPECTED_CHARGING_STATUS_RESP_MESSAGE; - return errn; - } - } - - - - - /*********************************** - * MeteringReceipt * - ***********************************/ - - init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.MeteringReceiptReq_isUsed = 1u; - - init_v2gMeteringReceiptReqType(&exiIn.V2G_Message.Body.MeteringReceiptReq); - - exiIn.V2G_Message.Body.MeteringReceiptReq.SessionID.bytes[0] = 22; - exiIn.V2G_Message.Body.MeteringReceiptReq.SAScheduleTupleID = 12; - exiIn.V2G_Message.Body.MeteringReceiptReq.SAScheduleTupleID_isUsed =1; - exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterStatus = 2; - exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterStatus_isUsed = 1; - exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.charactersLen =1; - exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.characters[0]=3; - - exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterReading = 100; - exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterReading_isUsed = 1; - exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.SigMeterReading_isUsed = 0; - - exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.TMeter =123456789; - exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.TMeter_isUsed = 1; - - exiIn.V2G_Message.Body.MeteringReceiptReq.Id.characters[0]='I'; - exiIn.V2G_Message.Body.MeteringReceiptReq.Id.characters[1]='d'; - exiIn.V2G_Message.Body.MeteringReceiptReq.Id.characters[2]='3'; - exiIn.V2G_Message.Body.MeteringReceiptReq.Id.charactersLen =3; - exiIn.V2G_Message.Body.MeteringReceiptReq.Id_isUsed =1; /* message is signed */ - - - printf("EV side: call EVSE meteringReceipt \n"); - - errn = request_response(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.MeteringReceiptRes_isUsed) { - - /* show results of EVSEs answer message */ - printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.MeteringReceiptRes.ResponseCode); - - } else { - errn = ERROR_UNEXPECTED_METERING_RECEIPT_RESP_MESSAGE; - return errn; - } - } - - - - /*********************************** - * SessionStop * - ***********************************/ - - - init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.SessionStopReq_isUsed = 1u; - - init_v2gSessionStopReqType(&exiIn.V2G_Message.Body.SessionStopReq); - - exiIn.V2G_Message.Body.SessionStopReq.ChargingSession = 1; - - printf("EV side: call EVSE stopSession \n"); - - errn = request_response(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.SessionStopRes_isUsed) { - - /* show results of EVSEs answer message */ - printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.SessionStopRes.ResponseCode); - - } else { - errn = ERROR_UNEXPECTED_SESSION_STOP_RESP_MESSAGE; - return errn; - } - } - - - - return errn; - -} - - -static int dc_charging() { - int errn = 0; - int i, j; - - struct v2gEXIDocument exiIn; - struct v2gEXIDocument exiOut; - - struct v2gServiceDiscoveryResType serviceDiscoveryRes; - struct v2gChargeParameterDiscoveryResType chargeParameterDiscoveryRes; - /* struct v2gServiceDetailResType serviceDetailRes; - struct v2gPaymentServiceSelectionResType paymentServiceSelectionRes; - struct v2gPaymentDetailsResType paymentDetailsRes; */ - - /* setup header information */ - init_v2gEXIDocument(&exiIn); - exiIn.V2G_Message_isUsed = 1u; - init_v2gMessageHeaderType(&exiIn.V2G_Message.Header); - exiIn.V2G_Message.Header.SessionID.bytes[0] = 0; /* sessionID is always '0' at the beginning (the response contains the valid sessionID)*/ - exiIn.V2G_Message.Header.SessionID.bytes[1] = 0; - exiIn.V2G_Message.Header.SessionID.bytes[2] = 0; - exiIn.V2G_Message.Header.SessionID.bytes[3] = 0; - exiIn.V2G_Message.Header.SessionID.bytes[4] = 0; - exiIn.V2G_Message.Header.SessionID.bytes[5] = 0; - exiIn.V2G_Message.Header.SessionID.bytes[6] = 0; - exiIn.V2G_Message.Header.SessionID.bytes[7] = 0; - exiIn.V2G_Message.Header.SessionID.bytesLen = 8; /* length of the byte session array is always 8 */ - exiIn.V2G_Message.Header.Notification_isUsed = 0u; /* no notification */ - exiIn.V2G_Message.Header.Signature_isUsed = 0u; - - - - - /************************ - * sessionSetup * - ************************/ - init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.SessionSetupReq_isUsed = 1u; - - init_v2gSessionSetupReqType(&exiIn.V2G_Message.Body.SessionSetupReq); - - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytesLen = 1; - exiIn.V2G_Message.Body.SessionSetupReq.EVCCID.bytes[0] = 20; - - printf("EV side: call EVSE sessionSetup"); - - errn = request_response(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.SessionSetupRes_isUsed) { - /* show results of EVSEs answer message */ - printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\tResponseCode=%d\n", exiOut.V2G_Message.Body.SessionSetupRes.ResponseCode); - printf("\tEVSEID=%d\n", exiOut.V2G_Message.Body.SessionSetupRes.EVSEID.characters[1]); - printf("\tEVSETimeStamp=%li\n", (long int)exiOut.V2G_Message.Body.SessionSetupRes.EVSETimeStamp); - - } else { - errn = ERROR_UNEXPECTED_SESSION_SETUP_RESP_MESSAGE; - return errn; - } - } - - - - - /******************************************* - * serviceDiscovery * - *******************************************/ - init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.ServiceDiscoveryReq_isUsed = 1u; - - init_v2gServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq); - - exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory_isUsed = 1u; - exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory = v2gserviceCategoryType_EVCharging; - - - printf("EV side: call EVSE serviceDiscovery"); - - errn = request_response(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.ServiceDiscoveryRes_isUsed) { - serviceDiscoveryRes = exiOut.V2G_Message.Body.ServiceDiscoveryRes; - /* show results of EVSEs answer message */ - printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.ServiceDiscoveryRes.ResponseCode); - printf("\t ServiceID=%d\n", exiOut.V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceID); - printf("\t ServiceName="); - printASCIIString(serviceDiscoveryRes.ChargeService.ServiceName.characters, serviceDiscoveryRes.ChargeService.ServiceName.charactersLen); - - printf("\t PaymentOption=%d\n", serviceDiscoveryRes.PaymentOptionList.PaymentOption.array[1]); - printf("\t EnergyTransferType=%d\n", serviceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[1]); - printf("\t FreeService=%d\n", serviceDiscoveryRes.ChargeService.FreeService); - printf("\t ServiceCategory=%d\n", serviceDiscoveryRes.ChargeService.ServiceCategory); - printf("\t ServiceScope=%d\n", serviceDiscoveryRes.ChargeService.ServiceScope.characters[0]); - } else { - errn = ERROR_UNEXPECTED_SERVICE_DISCOVERY_RESP_MESSAGE; - return errn; - } - } - - - - /******************************************* - * ServicePaymentSelection * - *******************************************/ - init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.PaymentServiceSelectionReq_isUsed = 1u; - - init_v2gPaymentServiceSelectionReqType(&exiIn.V2G_Message.Body.PaymentServiceSelectionReq); - - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption = v2gpaymentOptionType_ExternalPayment; - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.arrayLen = 1; /* only one service was selected */ - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ServiceID = serviceDiscoveryRes.ChargeService.ServiceID; /* charge server ID */ - exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ParameterSetID_isUsed = 0u; /* is not used */ - - printf("EV side: call EVSE ServicePaymentSelection \n"); - - errn = request_response(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.PaymentServiceSelectionRes_isUsed) { - /* show results of EVSEs answer message */ - printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.PaymentServiceSelectionRes.ResponseCode); - - } else { - errn = ERROR_UNEXPECTED_PAYMENT_SERVICE_SELECTION_RESP_MESSAGE; - return errn; - } - } - - - - /******************************************* - * Authorization * - *******************************************/ - init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.AuthorizationReq_isUsed = 1u; - - init_v2gAuthorizationReqType(&exiIn.V2G_Message.Body.AuthorizationReq); - - exiIn.V2G_Message.Body.AuthorizationReq.GenChallenge_isUsed =0; /* no challenge needed here*/ - exiIn.V2G_Message.Body.AuthorizationReq.Id_isUsed =0 ; /* no signature needed here */ - - printf("EV side: call EVSE Authorization \n"); - - - errn = request_response(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.AuthorizationRes_isUsed) { - - /* show results of EVSEs answer message */ - printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.AuthorizationRes.ResponseCode); - - if(exiOut.V2G_Message.Body.AuthorizationRes.EVSEProcessing == v2gEVSEProcessingType_Finished) { - printf("\t EVSEProcessing=Finished\n"); - } - } else { - errn = ERROR_UNEXPECTED_AUTHORIZATION_RESP_MESSAGE; - return errn; - } - } - - - - - /******************************************* - * chargeParameterDiscovery * - *******************************************/ - init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq_isUsed = 1u; - - init_v2gChargeParameterDiscoveryReqType(&exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq); - - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed = 1u; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVRESSSOC = 89; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVReady = 1; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVErrorCode = v2gDC_EVErrorCodeType_NO_ERROR; - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DepartureTime_isUsed = 1u; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DepartureTime = 123456789; - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Multiplier = 0; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Unit = v2gunitSymbolType_A; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Value = 60; - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit_isUsed = 1u; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Multiplier = 0; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Unit = v2gunitSymbolType_W; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Value = 20000; - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Multiplier = 0; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Unit = v2gunitSymbolType_V; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Value = 420; - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity_isUsed = 1u; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Multiplier = 0; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Unit = v2gunitSymbolType_W; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Value = 15000; - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest_isUsed = 1u; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Multiplier = 0; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Unit = v2gunitSymbolType_W; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Value = 5000; - - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.FullSOC_isUsed = 1u; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.FullSOC = 99; - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.BulkSOC_isUsed = 1u; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.BulkSOC = 80; - - - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode = v2gEnergyTransferModeType_DC_core; - exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed = 1u; - - - printf("EV side: call EVSE chargeParameterDiscovery"); - - errn = request_response(&exiIn, &exiOut); - - if(errn == 0) { - /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed) { - chargeParameterDiscoveryRes = exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes; - - /* show results of EVSEs answer message */ - printf("EV side: received response message from EVSE\n"); - printf("\tHeader SessionID="); - printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode); - - printACEVSEStatus(&(exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus)); - - printf("\tEVSEMaximumCurrentLimit=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumCurrentLimit.Value); - printf("\tEVSEMaximumPowerLimit=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Value); - printf("\tEVSEMaximumVoltageLimit=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Value); - printf("\tEVSEMinimumCurrentLimit=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Value); - - printf("\tEVSEMinimumVoltageLimit=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Value); - printf("\tEVSECurrentRegulationTolerance=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Value); - printf("\tEVSEPeakCurrentRipple=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Value); - printf("\tEVSEEnergyToBeDelivered=%d\n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Value); - - printf("\tSAScheduleList: \n"); - - for(i=0; i< exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.arrayLen;i++) - { - printf("\t\t Tuple#%d: \n",(i+1)); - printf("\t\t SAScheduleTupleID=%d: \n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[i].SAScheduleTupleID); - - for(j=0; j< exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.arrayLen;j++) - { - printf("\t\t\t Entry#%d: \n",(j+1)); - printf("\t\t\t\t PMax=%d (%d %d) \n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.array[j].PMax.Value, exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.array[j].PMax.Unit, exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.array[j].PMax.Multiplier); - printf("\t\t\t\t Start=%d \n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.array[j].RelativeTimeInterval.start); - if(exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.array[j].RelativeTimeInterval.duration_isUsed) { - printf("\t\t\t\t Duration=%d \n", exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[i].PMaxSchedule.PMaxScheduleEntry.array[j].RelativeTimeInterval.duration); - } - } - } - } else { - errn = ERROR_UNEXPECTED_CHARGE_PARAMETER_DISCOVERY_RESP_MESSAGE; - return errn; - } - } /***************************** @@ -2056,11 +1174,7 @@ static int dc_charging() { init_v2gBodyType(&exiIn.V2G_Message.Body); exiIn.V2G_Message.Body.CableCheckReq_isUsed = 1u; - init_v2gCableCheckReqType(&exiIn.V2G_Message.Body.CableCheckReq); - - exiIn.V2G_Message.Body.CableCheckReq.DC_EVStatus.EVErrorCode = 1; - exiIn.V2G_Message.Body.CableCheckReq.DC_EVStatus.EVReady = 1; - exiIn.V2G_Message.Body.CableCheckReq.DC_EVStatus.EVRESSSOC = 12; + /*init_v2gCableCheckReqType(&exiIn.V2G_Message.Body.CableCheckReq);*/ printf("EV side: call EVSE cableCheck \n"); @@ -2080,12 +1194,13 @@ static int dc_charging() { printf("\tEVSEProcessing=Finished\n"); } - printDCEVSEStatus(&(exiOut.V2G_Message.Body.CableCheckRes.DC_EVSEStatus)); - + printEVSEStatus(&(exiOut.V2G_Message.Body.CableCheckRes.EVSEStatus)); } else { errn = ERROR_UNEXPECTED_CABLE_CHECK_RESP_MESSAGE; return errn; } + } else { + return errn; } @@ -2098,17 +1213,11 @@ static int dc_charging() { init_v2gPreChargeReqType(&exiIn.V2G_Message.Body.PreChargeReq); - exiIn.V2G_Message.Body.PreChargeReq.DC_EVStatus.EVErrorCode = 1; - exiIn.V2G_Message.Body.PreChargeReq.DC_EVStatus.EVReady = 1; - exiIn.V2G_Message.Body.PreChargeReq.DC_EVStatus.EVRESSSOC = 12; + exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Exponent = 1; + exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Value = 234; - exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Multiplier = 0; - exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Unit = v2gunitSymbolType_A; - exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Value = 100; - - exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Multiplier = 0; - exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Unit = v2gunitSymbolType_V; - exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Value = 200; + exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Exponent = 1; + exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Value = 100; printf("EV side: call EVSE preCharge \n"); @@ -2124,58 +1233,31 @@ static int dc_charging() { printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.PreChargeRes.ResponseCode); - printDCEVSEStatus(&exiOut.V2G_Message.Body.PreChargeRes.DC_EVSEStatus); - printf("\tEVSEPresentVoltage=%d (%d %d)\n", exiOut.V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value, exiOut.V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Unit, exiOut.V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Multiplier); + printEVSEStatus(&exiOut.V2G_Message.Body.PreChargeRes.EVSEStatus); + printf("\tEVSEPresentVoltage=%d (%d %d)\n", exiOut.V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value, exiOut.V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value, exiOut.V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Exponent); } else { errn = ERROR_UNEXPECTED_PRE_CHARGE_RESP_MESSAGE; return errn; } + } else { + return errn; } - /***************************** - * powerDelivery * - *****************************/ + + /********************************* + * PowerDelivery * + *********************************/ + init_v2gBodyType(&exiIn.V2G_Message.Body); exiIn.V2G_Message.Body.PowerDeliveryReq_isUsed = 1u; init_v2gPowerDeliveryReqType(&exiIn.V2G_Message.Body.PowerDeliveryReq); - exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.DC_EVStatus = exiIn.V2G_Message.Body.PreChargeReq.DC_EVStatus; - - exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete = 0; - exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete_isUsed = 1u; - exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.ChargingComplete = 1; - exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed = 1u; /* DC parameters are send */ - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargeProgress = v2gchargeProgressType_Start; - - - /* we are using a charging profile */ - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile_isUsed = 1u; - - exiIn.V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID = chargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SAScheduleTupleID; - - /* set up 3 entries */ - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.arrayLen=3; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxPower.Value=0; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxPower.Unit = v2gunitSymbolType_W; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxPower.Multiplier=2; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryStart=0; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxNumberOfPhasesInUse=1; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed=1; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxPower.Value=20000; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxPower.Unit = v2gunitSymbolType_W; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxPower.Multiplier = 1; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxNumberOfPhasesInUse=3; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed=1; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryStart=300; /* 5min */ - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[2].ChargingProfileEntryMaxPower.Value=0; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[2].ChargingProfileEntryStart=1200; /* 20min */ - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[2].ChargingProfileEntryMaxNumberOfPhasesInUse=3; - exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[2].ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed=1; - + exiIn.V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID_isUsed = 1u; + exiIn.V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID = exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SAScheduleTupleID; printf("EV side: call EVSE powerDelivery \n"); @@ -2191,144 +1273,155 @@ static int dc_charging() { printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.PowerDeliveryRes.ResponseCode); - printDCEVSEStatus(&exiOut.V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus); + /*printACEVSEStatus(&(exiOut.V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus));*/ } else { - errn = ERROR_UNEXPECTED_PRE_CHARGE_RESP_MESSAGE; + errn = ERROR_UNEXPECTED_POWER_DELIVERY_RESP_MESSAGE; return errn; } + } else { + return errn; } + /********************************* + * Setup data for chargingStatus * + *********************************/ - /***************************** - * currentDemand * - *****************************/ init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.CurrentDemandReq_isUsed = 1u; + exiIn.V2G_Message.Body.ChargingStatusReq_isUsed = 1u; - init_v2gCurrentDemandReqType(&exiIn.V2G_Message.Body.CurrentDemandReq); + init_v2gChargingStatusReqType(&exiIn.V2G_Message.Body.ChargingStatusReq); + exiIn.V2G_Message.Body.ChargingStatusReq.EVTargetEnergyRequest.Exponent = 2; + exiIn.V2G_Message.Body.ChargingStatusReq.EVTargetEnergyRequest.Value = 100; - exiIn.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVRESSSOC = 12; - exiIn.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVReady = 1; - exiIn.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode = 1; - - exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier = 0; - exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit = v2gunitSymbolType_A; - exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value = 100; - - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier = 0; - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit = v2gunitSymbolType_V; - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value = 420; - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed = 1u; - - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier = 0; - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit = v2gunitSymbolType_W; - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value = 20000; - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed = 1u; - - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier = 0; - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit = v2gunitSymbolType_A; - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value = 60; - exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed = 1u; - - exiIn.V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed = 1u; - exiIn.V2G_Message.Body.CurrentDemandReq.BulkChargingComplete = 0; - - exiIn.V2G_Message.Body.CurrentDemandReq.ChargingComplete = 1; - - exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier = 0; - exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit = v2gunitSymbolType_s; - exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value = 300; /* 5 min*/ - exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed = 1u; - - exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier = 0; - exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit = v2gunitSymbolType_s; - exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value = 120; /* 3 min */ - exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed = 1u; - - - exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier = 0; - exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit = v2gunitSymbolType_V; - exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value = 400; - - - printf("EV side: call EVSE currentDemand \n"); + printf("EV side: call EVSE chargingStatus \n"); errn = request_response(&exiIn, &exiOut); if(errn == 0) { /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.CurrentDemandRes_isUsed) { + if(exiOut.V2G_Message.Body.ChargingStatusRes_isUsed) { /* show results of EVSEs answer message */ printf("EV side: received response message from EVSE\n"); printf("\tHeader SessionID="); printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.ResponseCode); + printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.ResponseCode); - printDCEVSEStatus(&exiOut.V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus); - printf("\t EVSEPresentVoltage=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value); - printf("\t EVSEPresentCurrent=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value); - printf("\t EVSECurrentLimitAchieved=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved); - printf("\t EVSEVoltageLimitAchieved=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.EVSEVoltageLimitAchieved); + /*printACEVSEStatus(&(exiOut.V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus)); - printf("\t EVSEPowerLimitAchieved=%d\n" ,exiOut.V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved); - printf("\t EVSEMaximumVoltageLimit=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Value); - printf("\t EVSEMaximumCurrentLimit=%d (%d %d) \n", exiOut.V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Value, exiOut.V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Unit, exiOut.V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Multiplier); - printf("\t EVSEMaximumPowerLimit=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Value); - - printf("\tReceiptRequired=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.ReceiptRequired); - printf("\tEVSEID=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.EVSEID.characters[0]); - printf("\tisused.MeterInfo=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.MeterInfo_isUsed); - printf("\t\tMeterInfo.MeterID=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.MeterInfo.MeterID.characters[0]); - printf("\t\tMeterInfo.MeterReading.Value=%lu\n", (long unsigned int)exiOut.V2G_Message.Body.CurrentDemandRes.MeterInfo.MeterReading); - printf("\t\tMeterInfo.MeterStatus=%d\n", exiOut.V2G_Message.Body.CurrentDemandRes.MeterInfo.MeterStatus); - printf("\t\tMeterInfo.TMeter=%li\n", (long int)exiOut.V2G_Message.Body.CurrentDemandRes.MeterInfo.TMeter); + printf("\tReceiptRequired=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.ReceiptRequired); + printf("\tEVSEID=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]); + printf("\tSAScheduleTupleID=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.SAScheduleTupleID); + printf("\tEVSEMaxCurrent=%d (%d %d)\n", exiOut.V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Value, exiOut.V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Unit, exiOut.V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Multiplier); + printf("\tisused.MeterInfo=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo_isUsed); + printf("\t\tMeterInfo.MeterID=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterID.characters[0]); + printf("\t\tMeterInfo.MeterReading.Value=%li\n", (long int)exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterReading); + printf("\t\tMeterInfo.MeterStatus=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.MeterStatus); + printf("\t\tMeterInfo.TMeter=%li\n", (long int)exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.TMeter); + printf("\t\tMeterInfo.SigMeterReading.data=%d\n", exiOut.V2G_Message.Body.ChargingStatusRes.MeterInfo.SigMeterReading.bytes[0]);*/ } else { - errn = ERROR_UNEXPECTED_CURRENT_DEMAND_RESP_MESSAGE; + errn = ERROR_UNEXPECTED_CHARGING_STATUS_RESP_MESSAGE; return errn; } + } else { + return errn; } - /***************************** - * weldingDetection * - *****************************/ + + + + /*********************************** + * MeteringReceipt * + ***********************************/ + init_v2gBodyType(&exiIn.V2G_Message.Body); - exiIn.V2G_Message.Body.WeldingDetectionReq_isUsed = 1u; + exiIn.V2G_Message.Body.MeteringReceiptReq_isUsed = 1u; - init_v2gWeldingDetectionReqType(&exiIn.V2G_Message.Body.WeldingDetectionReq); + init_v2gMeteringReceiptReqType(&exiIn.V2G_Message.Body.MeteringReceiptReq); - exiIn.V2G_Message.Body.WeldingDetectionReq.DC_EVStatus.EVRESSSOC = 100; - printf("EV side: call EVSE weldingDetection \n"); + exiIn.V2G_Message.Body.MeteringReceiptReq.Id.characters[0]='I'; + exiIn.V2G_Message.Body.MeteringReceiptReq.Id.characters[1]='d'; + exiIn.V2G_Message.Body.MeteringReceiptReq.Id.characters[2]='3'; + exiIn.V2G_Message.Body.MeteringReceiptReq.Id.charactersLen =3; + + exiIn.V2G_Message.Body.MeteringReceiptReq.SessionID.bytes[0] = 22; + exiIn.V2G_Message.Body.MeteringReceiptReq.SessionID.bytesLen = 1; + + init_v2gMeterInfoType(&exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo); + exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.characters[0] = 'M'; + exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.characters[1] = 'i'; + exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.characters[2] = 'd'; + exiIn.V2G_Message.Body.MeteringReceiptReq.MeterInfo.MeterID.charactersLen = 3; + + printf("EV side: call EVSE meteringReceipt \n"); errn = request_response(&exiIn, &exiOut); if(errn == 0) { /* check, if this is the right response message */ - if(exiOut.V2G_Message.Body.WeldingDetectionRes_isUsed) { + if(exiOut.V2G_Message.Body.MeteringReceiptRes_isUsed) { /* show results of EVSEs answer message */ printf("EV side: received response message from EVSE\n"); printf("\tHeader SessionID="); printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); - printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.WeldingDetectionRes.ResponseCode); - - printDCEVSEStatus(&exiOut.V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus); - printf("\tEVSEPresentVoltage=%d (%d %d)\n", exiOut.V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Value, exiOut.V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Unit, exiOut.V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Multiplier); + printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.MeteringReceiptRes.ResponseCode); } else { - errn = ERROR_UNEXPECTED_CURRENT_DEMAND_RESP_MESSAGE; + errn = ERROR_UNEXPECTED_METERING_RECEIPT_RESP_MESSAGE; return errn; } + } else { + return errn; } + + + /*********************************** + * SessionStop * + ***********************************/ + + + init_v2gBodyType(&exiIn.V2G_Message.Body); + exiIn.V2G_Message.Body.SessionStopReq_isUsed = 1u; + + init_v2gSessionStopReqType(&exiIn.V2G_Message.Body.SessionStopReq); + exiIn.V2G_Message.Body.SessionStopReq.ChargingSession = v2gchargingSessionType_Pause; + + printf("EV side: call EVSE stopSession \n"); + + errn = request_response(&exiIn, &exiOut); + + if(errn == 0) { + /* check, if this is the right response message */ + if(exiOut.V2G_Message.Body.SessionStopRes_isUsed) { + + /* show results of EVSEs answer message */ + printf("EV side: received response message from EVSE\n"); + printf("\tHeader SessionID="); + printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); + printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.SessionStopRes.ResponseCode); + + } else { + errn = ERROR_UNEXPECTED_SESSION_STOP_RESP_MESSAGE; + return errn; + } + } else { + return errn; + } + + + return errn; + } + #if DEPLOY_DIN_CODEC == SUPPORT_YES static int din_test() { int errn = 0; @@ -2338,8 +1431,8 @@ static int din_test() { bitstream_t stream1; bitstream_t stream2; - uint16_t pos1 = 0; - uint16_t pos2 = 0; + size_t pos1 = 0; + size_t pos2 = 0; stream1.size = BUFFER_SIZE; stream1.data = buffer1; @@ -2467,13 +1560,13 @@ static int xmldsig_test() { int errn = 0, i; bitstream_t stream1; - uint16_t pos1 = 0; + size_t pos1 = 0; stream1.size = BUFFER_SIZE; stream1.data = buffer1; stream1.pos = &pos1; bitstream_t stream2; - uint16_t pos2 = 0; + size_t pos2 = 0; stream2.size = BUFFER_SIZE; stream2.data = buffer2; stream2.pos = &pos2; @@ -2563,9 +1656,9 @@ static int xmldsig_test() { /* encode SignedInfo element with xmldsig schema */ - char arrayCanonicalEXI[35] = {"http://www.w3.org/TR/canonical-exi/"}; - char arrayxmldsigSHA256[51] = {"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"}; - char arrayxmlencSHA256[39] = {"http://www.w3.org/2001/04/xmlenc#sha256"}; + const char arrayCanonicalEXI[35] = {"http://www.w3.org/TR/canonical-exi/"}; + const char arrayxmldsigSHA256[51] = {"http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256"}; + const char arrayxmlencSHA256[39] = {"http://www.w3.org/2001/04/xmlenc#sha256"}; init_xmldsigEXIFragment(&exiXMLDSIG_SI); exiXMLDSIG_SI.SignedInfo_isUsed = 1; @@ -2630,16 +1723,34 @@ static int xmldsig_test() { #endif /* DEPLOY_ISO_CODEC_FRAGMENT */ #endif /* DEPLOY_XMLDSIG_CODEC == SUPPORT_YES */ - -#define ASK_FOR_USER_INPUT 0 int main_example(int argc, char *argv[]) { int errn = 0; + printf("+++ Start application handshake protocol example +++\n\n"); + errn = appHandshake(); + printf("+++ Terminate application handshake protocol example with errn = %d +++\n\n", errn); + + if(errn != 0) { + printf("\n\nHandshake error %d!\n", errn); + return errn; + } + + printf("+++ Start V2G client / service example for charging +++\n\n"); + errn = charging(); + printf("\n+++Terminate V2G Client / Service example for charging with errn = %d +++\n\n", errn); + + + if(errn != 0) { + printf("\n\ncharging error %d!\n", errn); + return errn; + } + + #if DEPLOY_DIN_CODEC == SUPPORT_YES printf("+++ Start simple DIN test +++\n"); errn = din_test(); - printf("+++ Terminate simple DIN test +++\n\n"); + printf("+++ Terminate simple DIN test with errn = %d +++\n\n", errn); if(errn != 0) { printf("\nDIN test error %d!\n", errn); return errn; @@ -2650,7 +1761,7 @@ int main_example(int argc, char *argv[]) { #if DEPLOY_ISO_CODEC_FRAGMENT == SUPPORT_YES printf("+++ Start simple XMLDSIG test +++\n"); errn = xmldsig_test(); - printf("+++ Terminate simple XMLDSIG test +++\n\n"); + printf("+++ Terminate simple XMLDSIG test with errn = %d +++\n\n", errn); if(errn != 0) { printf("\nXMLDSIG test error %d!\n", errn); return errn; @@ -2659,50 +1770,6 @@ int main_example(int argc, char *argv[]) { #endif /* DEPLOY_XMLDSIG_CODEC == SUPPORT_YES */ - printf("+++ Start application handshake protocol example +++\n\n"); - errn = appHandshake(); - printf("+++ Terminate application handshake protocol example +++\n\n"); - - if(errn != 0) { - printf("\n\nHandshake error %d!\n", errn); - return errn; - } - - -#if ASK_FOR_USER_INPUT != 0 - printf("\n\nPlease press enter for AC charging!\n"); - fflush(stdout); - getchar(); -#endif /* ASK_FOR_USER_INPUT */ - - - printf("+++ Start V2G client / service example for AC charging +++\n\n"); - errn = ac_charging(); - printf("\n+++Terminate V2G Client / Service example for AC charging +++\n"); - - - if(errn != 0) { - printf("\n\nAC_charging error %d!\n", errn); - return errn; - } - - -#if ASK_FOR_USER_INPUT != 0 - printf("Please press enter for DC charging!\n"); - fflush(stdout); - getchar(); -#endif /* ASK_FOR_USER_INPUT */ - - - printf("+++ Start V2G client / service example for DC charging +++\n\n"); - errn = dc_charging(); - printf("\n+++Terminate V2G client / service example for DC charging +++"); - - if(errn != 0) { - printf("\n\nDC_charging error %d!\n", errn); - return errn; - } - return errn; } diff --git a/src/transport/v2gtp.c b/src/transport/v2gtp.c index 7b06e5f..0dccd7c 100644 --- a/src/transport/v2gtp.c +++ b/src/transport/v2gtp.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -20,7 +20,7 @@ * * @author Sebastian.Kaebisch@siemens.com * @author Daniel.Peintner.EXT@siemens.com - * @version 0.9.3 + * @version 1.0.0alpha * @contact Joerg.Heuer@siemens.com * ********************************************************************/ diff --git a/src/transport/v2gtp.h b/src/transport/v2gtp.h index 0f924f2..3e8a4bc 100644 --- a/src/transport/v2gtp.h +++ b/src/transport/v2gtp.h @@ -1,6 +1,6 @@ /* - * Copyright (C) 2007-2015 Siemens AG + * Copyright (C) 2007-2017 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 @@ -19,7 +19,7 @@ /******************************************************************* * * @author Sebastian.Kaebisch@siemens.com - * @version 0.9.3 + * @version 1.0.0alpha * @contact Joerg.Heuer@siemens.com * ********************************************************************/